xref: /original-bsd/usr.bin/mail/Makefile.11 (revision 13f94090)
1cf33f98cSkurt#
28ba871aeSdist# Copyright (c) 1980 Regents of the University of California.
3*13f94090Sbostic# All rights reserved.
4cf33f98cSkurt#
5*13f94090Sbostic# Redistribution and use in source and binary forms are permitted
6*13f94090Sbostic# provided that this notice is preserved and that due credit is given
7*13f94090Sbostic# to the University of California at Berkeley. The name of the University
8*13f94090Sbostic# may not be used to endorse or promote products derived from this
9*13f94090Sbostic# software without specific prior written permission. This software
10*13f94090Sbostic# is provided ``as is'' without express or implied warranty.
11*13f94090Sbostic#
12*13f94090Sbostic#	@(#)Makefile.11	5.2 (Berkeley) 02/18/88
138ba871aeSdist#
148ba871aeSdist# Unix version 7.
159f6cd135Scarl#
169f6cd135Scarl# If you are compiling this for a nonseparate I/D machine,
179f6cd135Scarl# you must:
189f6cd135Scarl#	change the definitions of LDFLAGS, CFLAGS, LIBES,
199f6cd135Scarl#	SIGRETROSRC, and SIGRETROOBJ
209f6cd135Scarl#	make Mail40 rather than Mail
219f6cd135Scarl#
229f6cd135Scarl# Mail is too large to fit on a nonseparate I/D machine without
239f6cd135Scarl# text overlays.
249f6cd135Scarl#
259f6cd135Scarl# If you do not have a vfork system call or do not support
269f6cd135Scarl# job control, you must change the definition of OPTIONS.
27cf33f98cSkurt#
28cf33f98cSkurt
299f6cd135ScarlOPTIONS=	-DV7 -DVMUNIX			# vfork and job control
309f6cd135Scarl#OPTIONS=	-DV7				# no vfork or no job control
319f6cd135Scarl
329f6cd135ScarlLDFLAGS=	-i				# for separate I/D machines
339f6cd135Scarl#LDFLAGS=	-n				# for nonseparate I/D machines
349f6cd135Scarl
359f6cd135ScarlCFLAGS=		-O ${OPTIONS} ${INCLUDES}	# for separate I/D machines
369f6cd135Scarl#CFLAGS=	-O -V ${OPTIONS} ${INCLUDES}	# for nonseparate I/D machines
379f6cd135Scarl
389f6cd135ScarlLIBES=		-ljobs -lc			# for separate I/D machines
399f6cd135Scarl#LIBES=		-lovjobs -lovc			# for nonseparate I/D machines
409f6cd135Scarl
419f6cd135ScarlSIGRETROSRC=					# for those with job control
429f6cd135ScarlSIGRETROOBJ=					# for those with job control
439f6cd135Scarl#SIGRETROSRC=	sigretro.c			# for those without job control
449f6cd135Scarl#SIGRETROOBJ=	sigretro.o			# for those without job control
459f6cd135Scarl
46cf33f98cSkurtXSTR=		/usr/ucb/xstr
478c052674SkurtDESTDIR=	/
48cf33f98cSkurtCTAGS=		/usr/ucb/ctags -w
49cf33f98cSkurtED=		-ed
50cf33f98cSkurtAS=		-as
51cf33f98cSkurtRM=		-rm
529f6cd135ScarlOBJS=aux.o cmd1.o cmd2.o cmd3.o cmdtab.o collect.o config.o edit.o fio.o \
53cf33f98cSkurt	getname.o head.o v7.local.o lock.o lex.o list.o main.o \
54cf33f98cSkurt	names.o optim.o popen.o quit.o send.o strings.o temp.o tty.o \
559f6cd135Scarl	vars.o version.o errlst.o str.o ${SIGRETROOBJ}
56cf33f98cSkurt
57cf33f98cSkurtSRCS=aux.c cmd1.c cmd2.c cmd3.c cmdtab.c collect.c config.c edit.c fio.c \
58cf33f98cSkurt	getname.c head.c v7.local.c lock.c lex.c list.c main.c \
59cf33f98cSkurt	names.c optim.c popen.c quit.c send.c strings.c temp.c tty.c vars.c \
609f6cd135Scarl	errlst.c version.c ${SIGRETROSRC}
61cf33f98cSkurt
629f6cd135ScarlHDRS=rcv.h configdefs.h def.h glob.h v7.local.h local.h
63cf33f98cSkurt
64cf33f98cSkurtS = $(SRCS) $(HDRS)
65cf33f98cSkurt
669f6cd135Scarl#
679f6cd135Scarl# Special massaging of C files for sharing of strings
689f6cd135Scarl#
699f6cd135Scarl.c.o:
709f6cd135Scarl	${CC} -E ${CFLAGS} $*.c | ${XSTR} -c -
719f6cd135Scarl	${CC} -c ${CFLAGS} x.c
729f6cd135Scarl	mv x.o $*.o
739f6cd135Scarl	@$(RM) -f x.c
749f6cd135Scarl
75cf33f98cSkurtMail:	$S $(OBJS)
76cf33f98cSkurt	$(RM) -f Mail
77cf33f98cSkurt	@echo Loading ...
789f6cd135Scarl	@${CC} ${LDFLAGS} -o Mail ${OBJS} ${LIBES}
79cf33f98cSkurt	@size Mail
80cf33f98cSkurt
819f6cd135ScarlMail40:	$S $(OBJS)
829f6cd135Scarl	$(RM) -f Mail
839f6cd135Scarl	@echo Loading ...
849f6cd135Scarl	@ld -X /lib/crt0.o ${LDFLAGS} -o Mail \
859f6cd135Scarl	-Z	getname.o names.o optim.o popen.o send.o strings.o temp.o \
869f6cd135Scarl		v7.local.o vars.o \
879f6cd135Scarl	-Z	edit.o head.o lex.o list.o lock.o main.o quit.o tty.o \
889f6cd135Scarl	-Z	cmd1.o cmd2.o cmd3.o collect.o ${SIGRETROOBJ} \
899f6cd135Scarl	-L	aux.o cmdtab.o config.o errlst.o fio.o \
909f6cd135Scarl		str.o version.o ${LIBES}
919f6cd135Scarl	@size Mail
92cf33f98cSkurt
93cf33f98cSkurtinstall:
94cf33f98cSkurt	install -s Mail ${DESTDIR}/usr/ucb
958c052674Skurt	cp misc/Mail.help* ${DESTDIR}/usr/lib
96cf33f98cSkurt	cd ${DESTDIR}/usr/ucb; rm -f mail; ln Mail mail
97cf33f98cSkurt
98cf33f98cSkurt$S:
99cf33f98cSkurt	sccs get $@;
100cf33f98cSkurt
101cf33f98cSkurtsrcs:	$S
102cf33f98cSkurt
103cf33f98cSkurttags:	$(SRCS)
104cf33f98cSkurt	${CTAGS} $(SRCS);
105cf33f98cSkurt
106cf33f98cSkurtclean:
107cf33f98cSkurt	$(RM) -f *.o
1089f6cd135Scarl	rm -f Mail a.out fmt x.c xs.c core
109cf33f98cSkurt	cp /dev/null strings
110cf33f98cSkurt
111cf33f98cSkurtlint:
112cf33f98cSkurt	lint $(CFLAGS) $(SRCS)
113cf33f98cSkurt
114cf33f98cSkurtfmt:	fmt.c head.c
1159f6cd135Scarl	$(CC) fmt.c head.c -O -o fmt
116cf33f98cSkurt	$(RM) fmt.o head.o
117cf33f98cSkurt	size fmt
118cf33f98cSkurt
1199f6cd135Scarlstr.o: strings
1209f6cd135Scarl	$(XSTR)
1219f6cd135Scarl	$(CC) -c $(CFLAGS) xs.c
1229f6cd135Scarl	mv xs.o str.o
1239f6cd135Scarl	$(RM) xs.c
1249f6cd135Scarl
1259f6cd135Scarlconfig.o:	config.c
1269f6cd135Scarl	$(CC) -c $(CFLAGS) config.c
1279f6cd135Scarl
1289f6cd135Scarlcmdtab.o: cmdtab.c
1299f6cd135Scarl	$(CC) -c $(CFLAGS) cmdtab.c
1309f6cd135Scarl
1319f6cd135Scarlerrlst.o: errlst.c
1329f6cd135Scarl	${CC} -E ${CFLAGS} errlst.c | ${XSTR} -c -
1339f6cd135Scarl	${CC} ${CFLAGS} -c x.c
1349f6cd135Scarl	mv x.o errlst.o
135cf33f98cSkurt
136cf33f98cSkurtwc:
137cf33f98cSkurt	@wc rcv.h def.h glob.h local.h v7.local.h $(SRCS)
138cf33f98cSkurt
139cf33f98cSkurtsc:
140cf33f98cSkurt	@grep -c \; rcv.h def.h glob.h local.h v7.local.h $(SRCS)
141