xref: /original-bsd/usr.bin/mail/Makefile.11 (revision 542201aa)
1#
2# Copyright (c) 1980 Regents of the University of California.
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms are permitted
6# provided that this notice is preserved and that due credit is given
7# to the University of California at Berkeley. The name of the University
8# may not be used to endorse or promote products derived from this
9# software without specific prior written permission. This software
10# is provided ``as is'' without express or implied warranty.
11#
12#	@(#)Makefile.11	5.2 (Berkeley) 02/18/88
13#
14# Unix version 7.
15#
16# If you are compiling this for a nonseparate I/D machine,
17# you must:
18#	change the definitions of LDFLAGS, CFLAGS, LIBES,
19#	SIGRETROSRC, and SIGRETROOBJ
20#	make Mail40 rather than Mail
21#
22# Mail is too large to fit on a nonseparate I/D machine without
23# text overlays.
24#
25# If you do not have a vfork system call or do not support
26# job control, you must change the definition of OPTIONS.
27#
28
29OPTIONS=	-DV7 -DVMUNIX			# vfork and job control
30#OPTIONS=	-DV7				# no vfork or no job control
31
32LDFLAGS=	-i				# for separate I/D machines
33#LDFLAGS=	-n				# for nonseparate I/D machines
34
35CFLAGS=		-O ${OPTIONS} ${INCLUDES}	# for separate I/D machines
36#CFLAGS=	-O -V ${OPTIONS} ${INCLUDES}	# for nonseparate I/D machines
37
38LIBES=		-ljobs -lc			# for separate I/D machines
39#LIBES=		-lovjobs -lovc			# for nonseparate I/D machines
40
41SIGRETROSRC=					# for those with job control
42SIGRETROOBJ=					# for those with job control
43#SIGRETROSRC=	sigretro.c			# for those without job control
44#SIGRETROOBJ=	sigretro.o			# for those without job control
45
46XSTR=		/usr/ucb/xstr
47DESTDIR=	/
48CTAGS=		/usr/ucb/ctags -w
49ED=		-ed
50AS=		-as
51RM=		-rm
52OBJS=aux.o cmd1.o cmd2.o cmd3.o cmdtab.o collect.o config.o edit.o fio.o \
53	getname.o head.o v7.local.o lock.o lex.o list.o main.o \
54	names.o optim.o popen.o quit.o send.o strings.o temp.o tty.o \
55	vars.o version.o errlst.o str.o ${SIGRETROOBJ}
56
57SRCS=aux.c cmd1.c cmd2.c cmd3.c cmdtab.c collect.c config.c edit.c fio.c \
58	getname.c head.c v7.local.c lock.c lex.c list.c main.c \
59	names.c optim.c popen.c quit.c send.c strings.c temp.c tty.c vars.c \
60	errlst.c version.c ${SIGRETROSRC}
61
62HDRS=rcv.h configdefs.h def.h glob.h v7.local.h local.h
63
64S = $(SRCS) $(HDRS)
65
66#
67# Special massaging of C files for sharing of strings
68#
69.c.o:
70	${CC} -E ${CFLAGS} $*.c | ${XSTR} -c -
71	${CC} -c ${CFLAGS} x.c
72	mv x.o $*.o
73	@$(RM) -f x.c
74
75Mail:	$S $(OBJS)
76	$(RM) -f Mail
77	@echo Loading ...
78	@${CC} ${LDFLAGS} -o Mail ${OBJS} ${LIBES}
79	@size Mail
80
81Mail40:	$S $(OBJS)
82	$(RM) -f Mail
83	@echo Loading ...
84	@ld -X /lib/crt0.o ${LDFLAGS} -o Mail \
85	-Z	getname.o names.o optim.o popen.o send.o strings.o temp.o \
86		v7.local.o vars.o \
87	-Z	edit.o head.o lex.o list.o lock.o main.o quit.o tty.o \
88	-Z	cmd1.o cmd2.o cmd3.o collect.o ${SIGRETROOBJ} \
89	-L	aux.o cmdtab.o config.o errlst.o fio.o \
90		str.o version.o ${LIBES}
91	@size Mail
92
93install:
94	install -s Mail ${DESTDIR}/usr/ucb
95	cp misc/Mail.help* ${DESTDIR}/usr/lib
96	cd ${DESTDIR}/usr/ucb; rm -f mail; ln Mail mail
97
98$S:
99	sccs get $@;
100
101srcs:	$S
102
103tags:	$(SRCS)
104	${CTAGS} $(SRCS);
105
106clean:
107	$(RM) -f *.o
108	rm -f Mail a.out fmt x.c xs.c core
109	cp /dev/null strings
110
111lint:
112	lint $(CFLAGS) $(SRCS)
113
114fmt:	fmt.c head.c
115	$(CC) fmt.c head.c -O -o fmt
116	$(RM) fmt.o head.o
117	size fmt
118
119str.o: strings
120	$(XSTR)
121	$(CC) -c $(CFLAGS) xs.c
122	mv xs.o str.o
123	$(RM) xs.c
124
125config.o:	config.c
126	$(CC) -c $(CFLAGS) config.c
127
128cmdtab.o: cmdtab.c
129	$(CC) -c $(CFLAGS) cmdtab.c
130
131errlst.o: errlst.c
132	${CC} -E ${CFLAGS} errlst.c | ${XSTR} -c -
133	${CC} ${CFLAGS} -c x.c
134	mv x.o errlst.o
135
136wc:
137	@wc rcv.h def.h glob.h local.h v7.local.h $(SRCS)
138
139sc:
140	@grep -c \; rcv.h def.h glob.h local.h v7.local.h $(SRCS)
141