|
|
1.1 root 1: #
2: # Top level makefile. Instructions are included here and in the README file.
3: #
4: # First save a copy of this file. Then adjust the following definitions (all
5: # come immediatedly after the initial block of comments):
6: #
7: # MAKE where make lives
8: #
9: # MAKEFILE name of this file - for recursive make calls. Must change
10: # if you rename this file.
11: #
12: # SYSTEM best match for your version of Unix. Current choices for
13: # SYSTEM are:
14: #
15: # SYSV - System V
16: # V9 - Ninth Edition
17: # BSD4_2 - Berkeley (eg. Sun)
18: #
19: # Controls conditional compilation in a few places.
20: #
21: # VERSION refers to the Version of the DWB package
22: #
23: # GROUP group assigned to all installed files
24: #
25: # OWNER owner of everything that's installed
26: #
27: # BINDIR dpost and picpack go here. All other programs go in POSTBIN.
28: # BINDIR must already exist - it will not created during an
29: # install.
30: #
31: # HOSTDIR hostresident font directory for PostScript printers. Only
32: # used in the font download program.
33: #
34: # FONTDIR width table directory - for troff and dpost
35: #
36: # MAN1DIR command manpages. A command and its manpage are installed
37: # together - there's no easy way to avoid it. Setting MAN1DIR
38: # to an existing temporary directory (e.g. /tmp) means an
39: # install will work but manpages won't go anywhere permanent.
40: # MAN1DIR must already exist - it will not be created during
41: # an install.
42: #
43: # POSTBIN where most PostScript support programs go. dpost and picpack
44: # are the exceptions.
45: #
46: # POSTLIB prologues and miscellaneous PostScript files. Primarily for
47: # the programs that live in POSTBIN.
48: #
49: # CFLGS common compiler options - used to build CFLAGS in the low
50: # level makefiles. CFLGS and LDFLGS are best set on the make
51: # command line.
52: #
53: # LDFLGS common link editor options - used to build LDFLAGS in the
54: # low level makefiles. LDFLGS and CFLGS are best set on the
55: # make command line.
56: #
57: # DKHOST set it to TRUE to compile the DKHOST Datakit support code
58: # in postio. Temporarily resets SYSTEM to SYSV if DKHOST is
59: # TRUE and SYSTEM is BSD4_2. Ignored if SYSTEM is not SYSV
60: # or BSD4_2.
61: #
62: # DKSTREAMS set it to TRUE only if you have the streams based DKHOST
63: # package. Ignored if SYSTEM is not SYSV or BSD4_2.
64: #
65: # DOROUND must only be set to TRUE or FALSE. TRUE means translators
66: # include code that maps clipping path dimensions into known
67: # paper sizes.
68: #
69: # TARGETS the default list of what's built by make. Each target must
70: # be the name of a source directory. A target that names a
71: # non-existent source directory is ignored. Setting TARGETS
72: # on the make command line overrides the default list.
73: #
74: # Source files must be updated whenever this file changes. If you change any
75: # definitions type,
76: #
77: # make -f postscript.mk changes
78: #
79: # to update the source files, man pages, and low level makefiles.
80: #
81: # To build (but not install) the default package (i.e. everything named by
82: # TARGETS) type,
83: #
84: # make -f postscript.mk all
85: #
86: # The recommended way to build and install the package is,
87: #
88: # make -f postscript.mk all install
89: #
90: # Although you'll likely have to be root for the install to work.
91: #
92: # After the package is installed use,
93: #
94: # make -f postscript.mk clobber
95: #
96: # to delete binary files and compiled programs from the source directories.
97: #
98: # Set TARGETS on the command line to select part of the package. For example,
99: #
100: # make -f postscript.mk TARGETS="dpost devpost" all install
101: #
102: # builds and installs dpsot and the PostScript font tables. Quotes hide white
103: # space from the shell.
104: #
105:
106: MAKE=/bin/make
107: MAKEFILE=postscript.mk
108:
109: SYSTEM=SYSV
110: VERSION=3.2
111:
112: GROUP=bin
113: OWNER=bin
114:
115: BINDIR=/usr/bin
116: FONTDIR=/usr/lib/font
117: HOSTDIR=/usr/lib/font/postscript
118: MAN1DIR=/usr/man/u_man/man1
119: POSTBIN=/usr/lbin/postscript
120: POSTLIB=/usr/lib/postscript
121:
122: COMMONDIR=common
123: CURRENTDIR=.
124:
125: CFLGS=-O
126: LDFLGS=-s
127:
128: DKHOST=FALSE
129: DKSTREAMS=FALSE
130: ROUNDPAGE=FALSE
131:
132: #
133: # $(TARGETS) is the default list of things built by make.
134: #
135:
136: TARGETS=buildtables\
137: common\
138: cropmarks\
139: devLatin1\
140: devpost\
141: download\
142: dpost\
143: grabit\
144: hardcopy\
145: picpack\
146: postbgi\
147: postdaisy\
148: postdmd\
149: postgif\
150: postio\
151: postmd\
152: postplot\
153: postprint\
154: postreverse\
155: posttek\
156: printfont\
157: psencoding\
158: psfiles\
159: trofftable
160:
161: ACTION=all
162:
163: all : $(TARGETS)
164:
165: clean clobber :
166: @$(MAKE) -e -f $(MAKEFILE) MAKE=$(MAKE) ACTION=$@ $(TARGETS)
167:
168: install :
169: @SYSTEM='$(SYSTEM)'; export SYSTEM; \
170: VERSION='$(VERSION)'; export VERSION; \
171: GROUP='$(GROUP)'; export GROUP; \
172: OWNER='$(OWNER)'; export OWNER; \
173: BINDIR='$(BINDIR)'; export BINDIR; \
174: FONTDIR='$(FONTDIR)'; export FONTDIR; \
175: HOSTDIR='$(HOSTDIR)'; export HOSTDIR; \
176: MAN1DIR='$(MAN1DIR)'; export MAN1DIR; \
177: POSTBIN='$(POSTBIN)'; export POSTBIN; \
178: POSTLIB='$(POSTLIB)'; export POSTLIB; \
179: $(MAKE) -e -f $(MAKEFILE) MAKE=$(MAKE) ACTION=$@ $(TARGETS)
180:
181: $(TARGETS) ::
182: @TARGETS=; unset TARGETS; \
183: HFILES=; unset HFILES; \
184: OFILES=; unset OFILES; \
185: CFLAGS=; unset CFLAGS; \
186: LDFLAGS=; unset LDFLAGS; \
187: YFLAGS=; unset YFLAGS; \
188: SYSTEM='$(SYSTEM)'; export SYSTEM; \
189: VERSION='$(VERSION)'; export VERSION; \
190: CFLGS='$(CFLGS)'; export CFLGS; \
191: LDFLGS='$(LDFLGS)'; export LDFLGS; \
192: COMMONDIR='../$(COMMONDIR)'; export COMMONDIR; \
193: if [ $@ = postio ]; then \
194: EXTRA=; unset EXTRA; \
195: DKLIB=" "; export DKLIB; \
196: if [ $(SYSTEM) = SYSV -a $(DKHOST) = TRUE ]; then \
197: DKLIB=-ldk; export DKLIB; \
198: CFLGS="$(CFLGS) -DDKHOST"; export CFLGS; \
199: if [ "$(DKSTREAMS)" = TRUE ]; then \
200: CFLGS="$$CFLGS -DDKSTREAMS"; export CFLGS; \
201: fi; \
202: fi; \
203: if [ $(SYSTEM) = BSD4_2 -a $(DKHOST) = TRUE ]; then \
204: DKLIB=-ldk; export DKLIB; \
205: CFLGS="$(CFLGS) -DDKHOST -DDKSTREAMS"; export CFLGS; \
206: SYSTEM=SYSV; export SYSTEM; \
207: fi; \
208: if [ $(SYSTEM) = V9 ]; then \
209: DKLIB=-lipc; export DKLIB; \
210: fi; \
211: fi; \
212: if [ -d $@ -a -f $@/[email protected] ]; then \
213: cd $@; \
214: echo "---- Making $(ACTION) in directory $(CURRENTDIR)/$@ ----"; \
215: $(MAKE) -e -f [email protected] MAKE=$(MAKE) $(ACTION); \
216: echo; \
217: fi
218:
219: changes :
220: @SYSTEM='$(SYSTEM)'; export SYSTEM; \
221: VERSION='$(VERSION)'; export VERSION; \
222: GROUP='$(GROUP)'; export GROUP; \
223: OWNER='$(OWNER)'; export OWNER; \
224: BINDIR='$(BINDIR)'; export BINDIR; \
225: FONTDIR='$(FONTDIR)'; export FONTDIR; \
226: HOSTDIR='$(HOSTDIR)'; export HOSTDIR; \
227: MAN1DIR='$(MAN1DIR)'; export MAN1DIR; \
228: POSTBIN='$(POSTBIN)'; export POSTBIN; \
229: POSTLIB='$(POSTLIB)'; export POSTLIB; \
230: DKHOST='$(DKHOST)'; export DKHOST; \
231: DKSTREAMS='$(DKSTREAMS)'; export DKSTREAMS; \
232: ROUNDPAGE='$(ROUNDPAGE)'; export ROUNDPAGE; \
233: $(MAKE) -e -f $(MAKEFILE) MAKE=$(MAKE) ACTION=$@ $(TARGETS)
234: @trap "" 1 2 3 15; \
235: sed \
236: -e "s'^SYSTEM=.*'SYSTEM=$(SYSTEM)'" \
237: -e "s'^VERSION=.*'VERSION=$(VERSION)'" \
238: -e "s'^GROUP=.*'GROUP=$(GROUP)'" \
239: -e "s'^OWNER=.*'OWNER=$(OWNER)'" \
240: -e "s'^BINDIR=.*'BINDIR=$(BINDIR)'" \
241: -e "s'^FONTDIR=.*'FONTDIR=$(FONTDIR)'" \
242: -e "s'^HOSTDIR=.*'HOSTDIR=$(HOSTDIR)'" \
243: -e "s'^MAN1DIR=.*'MAN1DIR=$(MAN1DIR)'" \
244: -e "s'^POSTBIN=.*'POSTBIN=$(POSTBIN)'" \
245: -e "s'^POSTLIB=.*'POSTLIB=$(POSTLIB)'" \
246: -e "s'^DKHOST=.*'DKHOST=$(DKHOST)'" \
247: -e "s'^DKSTREAMS=.*'DKSTREAMS=$(DKSTREAMS)'" \
248: -e "s'^ROUNDPAGE=.*'ROUNDPAGE=$(ROUNDPAGE)'" \
249: $(MAKEFILE) >XXX.mk; \
250: mv XXX.mk $(MAKEFILE)
251:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.