Files
seta75D 2e8a93c394 Init
2021-10-11 18:20:23 -03:00

132 lines
3.3 KiB
Makefile

#
# Copyright (c) 1980 Regents of the University of California.
# All rights reserved. The Berkeley software License Agreement
# specifies the terms and conditions for redistribution.
#
# @(#)Makefile 1.1 92/07/30 SMI; from UCB 5.12 85/09/17
#
DESTDIR=
INSDIR=$(DESTDIR)/usr/ucb
CFLAGS= -O
# default is to build programs "small"
LDFLAGS = -n -Bdynamic
# where to find doprnt.c
DOPRNT= ../lib/libc/stdio/common
.KEEP_STATE:
# Programs that live in subdirectories, and have makefiles of their own.
#
SUBDIR= Mail compress error ftp gprof \
indent lpr more netstat rdist talk tftp \
tset vgrind
# C Shell scripts that need only be installed and are never removed.
#
CSHSCRIPT= vtroff which
CSHSCRIPTSRC= $(CSHSCRIPT:%=%.csh)
# C programs that live in the current directory and have
# no special build requirements.
#
STD= biff \
checknr colcrt colrm ctags \
expand \
finger fold from \
groups gcore \
head \
last lastcomm leave logger \
man mkstr \
printenv \
rdate rlogin rsh ruptime rwho \
sccs script soelim strings symorder \
tail tcopy telnet \
unexpand unifdef users \
wc whereis whoami whois \
xstr \
yes
# C programs with special make rules. Each of these has its own target below.
SPECIAL= rcp
# C programs that use the rpcsvc library
RPCSVC= quota rup rusers
$(RPCSVC) := LIBS += -lrpcsvc
# C programs that use the libkvm library
LIBKVM= vmstat w
$(LIBKVM) := LIBS += -lkvm
# C programs that use the termlib library
TERMLIB= clear ul
$(TERMLIB) := LIBS += -ltermlib
# All programs in this directory
ALL= $(STD) $(SPECIAL) $(RPCSVC) $(LIBKVM) $(TERMLIB)
# All non-architecture specific programs
NONASP= $(STD) $(SPECIAL) $(RPCSVC) $(TERMLIB) vmstat
# All architecture specific programs
ASP= w
ASDIR= /usr/kvm
RELASDIR= ../kvm
# Larger and often-shared programs, linked demand paged
LARGE= finger man quota rlogin sccs telnet ul vmstat w
$(LARGE) := LDFLAGS=
# Programs that must run setuid to root
SETUID= quota rcp rlogin rsh
# Programs that must run set-group-id kmem.
KMEM= vmstat w
all: $(ALL) $(SUBDIR)
$(SUBDIR): FRC
cd $@ && $(MAKE) $(MFLAGS)
$(STD) $(RPCSVC) $(LIBKVM) $(TERMLIB): $$@.c
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $@.c $(LIBS)
rcp: $$@.c doprnt.o
$(CC) $(CFLAGS) -Bstatic -o $@ $@.c doprnt.o
doprnt.o: $(DOPRNT)/doprnt.c
$(COMPILE.c) -DFLOAT=0 -I$(DOPRNT) $(DOPRNT)/doprnt.c
# HACK: remove vmstat because it used to be a symlink
install: $(NONASP) $(ASP) $(CSHSCRIPTSRC)
install -d -o bin -m 755 $(INSDIR)
@set -x;for i in $(SUBDIR); do \
(cd $$i && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@); done
@set -x;for i in $(CSHSCRIPT); do \
(install -c $$i.csh $(INSDIR)/$$i); done
install -s $(NONASP) $(INSDIR)
$(RM) $(INSDIR)/apropos $(INSDIR)/whatis
ln $(INSDIR)/man $(INSDIR)/apropos
ln $(INSDIR)/man $(INSDIR)/whatis
install -s -o root -m 4755 $(SETUID) $(INSDIR)
$(RM) $(INSDIR)/vmstat
for i in $(ASP); do (install -s $$i $(DESTDIR)$(ASDIR)/$$i; \
$(RM) $(INSDIR)/$$i; \
ln -s $(RELASDIR)/$$i $(INSDIR)/$$i); \
done
$(RM) $(INSDIR)/vmstat
install -g kmem -m 2755 vmstat $(INSDIR)
install -g kmem -m 2755 w $(DESTDIR)$(ASDIR)
$(RM) $(INSDIR)/uptime
ln -s $(RELASDIR)/w $(INSDIR)/uptime
rm -f ${DESTDIR}/usr/ucb/cc; ln -s ../lib/compile ${DESTDIR}/usr/ucb/cc
clean: FRC
$(RM) a.out core *.s *.o
$(RM) $(ALL)
for i in $(SUBDIR); do (cd $$i && $(MAKE) $(MFLAGS) $@); done
FRC: