1feb20028Sjaap#######################################################################
23a150976Sjaap#
3*d9a9055dSbostic#	@(#)Makefile	1.8	(CWI)	93/07/27
43a150976Sjaap#
5feb20028Sjaap# Makefile for ditroff and nroff
6feb20028Sjaap#
7feb20028Sjaap#######################################################################
83a150976Sjaap
9feb20028SjaapCFLAGS = -DINCORE -O
10feb20028SjaapNFLAGS = -DNROFF -DSMALLER	# additional flags for nroff compile
113a150976Sjaap
12feb20028Sjaap# location to install final output
133a150976Sjaap
14b6ac5aa9SkarelsBINDIR = /usr/local/bin
15b6ac5aa9SkarelsLIBDIR = /usr/local/libdata/ditroff_font
16b6ac5aa9SkarelsLIBXDIR = /usr/local/libexec
17b6ac5aa9SkarelsMANDIR = /usr/local/man/manl
183a150976Sjaap
19feb20028Sjaap# the directories where the .o files are stored
20feb20028Sjaap
21feb20028SjaapN = nrobs
22feb20028SjaapT = trobs
23feb20028Sjaap
24feb20028Sjaap# the object files needed by nroff and troff
25feb20028Sjaap
26feb20028SjaapNOBS = $N/n1.o $N/n2.o $N/n3.o $N/n4.o $N/n5.o $N/n6.o $N/n7.o $N/n8.o \
27feb20028Sjaap       $N/n9.o $N/n10.o $N/ni.o $N/nii.o $N/hytab.o $N/suftab.o
28feb20028Sjaap
29feb20028SjaapTOBS = $T/n1.o $T/n2.o $T/n3.o $T/n4.o $T/n5.o $T/t6.o $T/n7.o $T/n8.o \
30feb20028Sjaap       $T/n9.o $T/t10.o $T/ni.o $T/nii.o $T/hytab.o $T/suftab.o
31feb20028Sjaap
32feb20028Sjaap#######################################################################
33feb20028Sjaap
34*d9a9055dSbosticall:	troff_p
35feb20028Sjaap
36b6ac5aa9Skarelstroff_p: $(T) $(TOBS)
37b6ac5aa9Skarels	$(CC) $(CFLAGS) $(TOBS) -o troff_p -lcompat
38feb20028Sjaap
39feb20028Sjaap
40feb20028Sjaapnroff:	$(N) $(NOBS)
41b6ac5aa9Skarels	$(CC) $(CFLAGS) $(NFLAGS) $(NOBS) -o nroff -lcompat
42feb20028Sjaap
43feb20028Sjaap
44feb20028Sjaap$(T):
45feb20028Sjaap	mkdir $(T)
46feb20028Sjaap
47feb20028Sjaap$(N):
48feb20028Sjaap	mkdir $(N)
49feb20028Sjaap
50feb20028Sjaap$(LIBDIR):
51feb20028Sjaap	mkdir $(LIBDIR)
52feb20028Sjaap
53feb20028Sjaapinstall: all $(LIBDIR)
54*d9a9055dSbostic	install -s ditroff $(DESTDIR)$(LIBXDIR)/troff_p
55*d9a9055dSbostic#	install -s nroff $(DESTDIR)$(BINDIR)/nroff
56b6ac5aa9Skarels#	install -c -m 664 ditroff.1 $(DESTDIR)$(MANDIR)/ditroff.1
57feb20028Sjaap
58feb20028Sjaapclean:  force
59b6ac5aa9Skarels	rm -rf make.out troff_p nroff $N $T
60feb20028Sjaap
61feb20028Sjaap# fake dependency to force a make
62feb20028Sjaapforce:
63feb20028Sjaap
64feb20028Sjaap
65feb20028Sjaap#######################################################################
66feb20028Sjaap#
67feb20028Sjaap# The dependencies are divided into two parts: the
68feb20028Sjaap# first expresses the dependencies between the files
69feb20028Sjaap# and includes the fact that the .o files are in
70feb20028Sjaap# different directories than the .c files.  The 2nd
71feb20028Sjaap# part expresses no dependencies, but contains the
72feb20028Sjaap# rule for compiling the .c files into .o files.
73feb20028Sjaap#
74feb20028Sjaap# File Dependencies:
75feb20028Sjaap#
76feb20028Sjaap
77feb20028Sjaap$T/n1.o:		n1.c  tdef.h tw.h ext.h $T/ni.o
78feb20028Sjaap$N/n1.o:		n1.c  tdef.h tw.h ext.h $N/ni.o
79feb20028Sjaap
80feb20028Sjaap$T/n2.o  $N/n2.o:	n2.c  tdef.h tw.h
81feb20028Sjaap$T/n3.o  $N/n3.o:	n3.c  tdef.h tw.h
82feb20028Sjaap$T/n4.o  $N/n4.o:	n4.c  tdef.h tw.h
83feb20028Sjaap$T/n5.o  $N/n5.o:	n5.c  tdef.h tw.h
84feb20028Sjaap
85feb20028Sjaap$T/t6.o:		t6.c  tdef.h tw.h dev.h $T/ni.o
86feb20028Sjaap$N/n6.o:		n6.c  tdef.h tw.h
87feb20028Sjaap
88feb20028Sjaap$T/n7.o  $N/n7.o:	n7.c  tdef.h tw.h
89feb20028Sjaap$T/n8.o  $N/n8.o:	n8.c  tdef.h tw.h
90feb20028Sjaap$T/n9.o  $N/n9.o:	n9.c  tdef.h tw.h
91feb20028Sjaap
92feb20028Sjaap$T/t10.o:		t10.c tdef.h tw.h dev.h $T/ni.o
93feb20028Sjaap$N/n10.o:		n10.c tdef.h tw.h
94feb20028Sjaap
95feb20028Sjaap$T/ni.o  $N/ni.o:	ni.c  tdef.h tw.h
96feb20028Sjaap$T/nii.o $N/nii.o:	nii.c tdef.h tw.h
97feb20028Sjaap$T/hytab.o $N/hytab.o:	hytab.c
98feb20028Sjaap$T/suftab.o $N/suftab.o: suftab.c
99feb20028Sjaap
100feb20028Sjaap
101feb20028Sjaap#
102feb20028Sjaap# Generation Rule:
103feb20028Sjaap#  .oldestfile is older than everything, so
104feb20028Sjaap#  these rules will not be invoked unless
105feb20028Sjaap#  one of the above dependencies is.]
106feb20028Sjaap#
107feb20028Sjaap
108feb20028Sjaap$(NOBS):  .oldestfile
109*d9a9055dSbostic	  $(CC) $(CFLAGS) $(NFLAGS) -c `basename $@ .o`.c
110feb20028Sjaap	mv `basename $@` nrobs
111feb20028Sjaap
112feb20028Sjaap$(TOBS):  .oldestfile
113*d9a9055dSbostic	  $(CC) $(CFLAGS) -c `basename $@ .o`.c
114feb20028Sjaap	mv `basename $@` trobs
115feb20028Sjaap
116feb20028Sjaap.oldestfile:
117feb20028Sjaap	touch .oldestfile
118