1*219b2ee8SDavid du Colombier# 2*219b2ee8SDavid du Colombier# Top level makefile. Instructions are included here and in the README file. 3*219b2ee8SDavid du Colombier# 4*219b2ee8SDavid du Colombier# First save a copy of this file. Then adjust the following definitions (all 5*219b2ee8SDavid du Colombier# come immediatedly after the initial block of comments): 6*219b2ee8SDavid du Colombier# 7*219b2ee8SDavid du Colombier# MAKE where make lives 8*219b2ee8SDavid du Colombier# 9*219b2ee8SDavid du Colombier# MAKEFILE name of this file - for recursive make calls. Must change 10*219b2ee8SDavid du Colombier# if you rename this file. 11*219b2ee8SDavid du Colombier# 12*219b2ee8SDavid du Colombier# SYSTEM best match for your version of Unix. Current choices for 13*219b2ee8SDavid du Colombier# SYSTEM are: 14*219b2ee8SDavid du Colombier# 15*219b2ee8SDavid du Colombier# SYSV - System V 16*219b2ee8SDavid du Colombier# V9 - Ninth Edition 17*219b2ee8SDavid du Colombier# BSD4_2 - Berkeley (eg. Sun) 18*219b2ee8SDavid du Colombier# 19*219b2ee8SDavid du Colombier# Controls conditional compilation in a few places. 20*219b2ee8SDavid du Colombier# 21*219b2ee8SDavid du Colombier# VERSION refers to the Version of the DWB package 22*219b2ee8SDavid du Colombier# 23*219b2ee8SDavid du Colombier# GROUP group assigned to all installed files 24*219b2ee8SDavid du Colombier# 25*219b2ee8SDavid du Colombier# OWNER owner of everything that's installed 26*219b2ee8SDavid du Colombier# 27*219b2ee8SDavid du Colombier# HOSTDIR hostresident font directory for PostScript printers. Only 28*219b2ee8SDavid du Colombier# used in the font download program. 29*219b2ee8SDavid du Colombier# 30*219b2ee8SDavid du Colombier# FONTDIR width table directory - for troff and dpost 31*219b2ee8SDavid du Colombier# 32*219b2ee8SDavid du Colombier# MAN1DIR command manpages. A command and its manpage are installed 33*219b2ee8SDavid du Colombier# together - there's no easy way to avoid it. Setting MAN1DIR 34*219b2ee8SDavid du Colombier# to an existing temporary directory (e.g. /tmp) means an 35*219b2ee8SDavid du Colombier# install will work but manpages won't go anywhere permanent. 36*219b2ee8SDavid du Colombier# MAN1DIR must already exist - it will not be created during 37*219b2ee8SDavid du Colombier# an install. 38*219b2ee8SDavid du Colombier# 39*219b2ee8SDavid du Colombier# POSTBIN where most PostScript support programs go. dpost and picpack 40*219b2ee8SDavid du Colombier# are the exceptions. 41*219b2ee8SDavid du Colombier# 42*219b2ee8SDavid du Colombier# POSTLIB prologues and miscellaneous PostScript files. Primarily for 43*219b2ee8SDavid du Colombier# the programs that live in POSTBIN. 44*219b2ee8SDavid du Colombier# 45*219b2ee8SDavid du Colombier# CFLGS common compiler options - used to build CFLAGS in the low 46*219b2ee8SDavid du Colombier# level makefiles. CFLGS and LDFLGS are best set on the make 47*219b2ee8SDavid du Colombier# command line. 48*219b2ee8SDavid du Colombier# 49*219b2ee8SDavid du Colombier# LDFLGS common link editor options - used to build LDFLAGS in the 50*219b2ee8SDavid du Colombier# low level makefiles. LDFLGS and CFLGS are best set on the 51*219b2ee8SDavid du Colombier# make command line. 52*219b2ee8SDavid du Colombier# 53*219b2ee8SDavid du Colombier# DKHOST set it to TRUE to compile the DKHOST Datakit support code 54*219b2ee8SDavid du Colombier# in postio. Temporarily resets SYSTEM to SYSV if DKHOST is 55*219b2ee8SDavid du Colombier# TRUE and SYSTEM is BSD4_2. Ignored if SYSTEM is not SYSV 56*219b2ee8SDavid du Colombier# or BSD4_2. 57*219b2ee8SDavid du Colombier# 58*219b2ee8SDavid du Colombier# DKSTREAMS enables streams based DKHOST support in postio when DKHOST 59*219b2ee8SDavid du Colombier# is TRUE and SYSTEM is SYSV or BSD4_2. Choices are TRUE, 60*219b2ee8SDavid du Colombier# FALSE, or a stream module name (e.g. dknetty or dkty). TRUE 61*219b2ee8SDavid du Colombier# selects dknetty. Newer systems may expect dkty. 62*219b2ee8SDavid du Colombier# 63*219b2ee8SDavid du Colombier# ROUNDPAGE must only be set to TRUE or FALSE. TRUE means translators 64*219b2ee8SDavid du Colombier# include code that maps clipping path dimensions into known 65*219b2ee8SDavid du Colombier# paper sizes. 66*219b2ee8SDavid du Colombier# 67*219b2ee8SDavid du Colombier# TARGETS the default list of what's built by make. Each target must 68*219b2ee8SDavid du Colombier# be the name of a source directory. A target that names a 69*219b2ee8SDavid du Colombier# non-existent source directory is ignored. Setting TARGETS 70*219b2ee8SDavid du Colombier# on the make command line overrides the default list. 71*219b2ee8SDavid du Colombier# 72*219b2ee8SDavid du Colombier# Source files must be updated whenever this file changes. If you change any 73*219b2ee8SDavid du Colombier# definitions type, 74*219b2ee8SDavid du Colombier# 75*219b2ee8SDavid du Colombier# make -f postscript.mk changes 76*219b2ee8SDavid du Colombier# 77*219b2ee8SDavid du Colombier# to update the source files, man pages, and low level makefiles. 78*219b2ee8SDavid du Colombier# 79*219b2ee8SDavid du Colombier# To build (but not install) the default package (i.e. everything named by 80*219b2ee8SDavid du Colombier# TARGETS) type, 81*219b2ee8SDavid du Colombier# 82*219b2ee8SDavid du Colombier# make -f postscript.mk all 83*219b2ee8SDavid du Colombier# 84*219b2ee8SDavid du Colombier# The recommended way to build and install the package is, 85*219b2ee8SDavid du Colombier# 86*219b2ee8SDavid du Colombier# make -f postscript.mk all install 87*219b2ee8SDavid du Colombier# 88*219b2ee8SDavid du Colombier# Although you'll likely have to be root for the install to work. 89*219b2ee8SDavid du Colombier# 90*219b2ee8SDavid du Colombier# After the package is installed use, 91*219b2ee8SDavid du Colombier# 92*219b2ee8SDavid du Colombier# make -f postscript.mk clobber 93*219b2ee8SDavid du Colombier# 94*219b2ee8SDavid du Colombier# to delete binary files and compiled programs from the source directories. 95*219b2ee8SDavid du Colombier# 96*219b2ee8SDavid du Colombier# Set TARGETS on the command line to select part of the package. For example, 97*219b2ee8SDavid du Colombier# 98*219b2ee8SDavid du Colombier# make -f postscript.mk TARGETS="dpost devpost" all install 99*219b2ee8SDavid du Colombier# 100*219b2ee8SDavid du Colombier# builds and installs dpsot and the PostScript font tables. Quotes hide white 101*219b2ee8SDavid du Colombier# space from the shell. 102*219b2ee8SDavid du Colombier# 103*219b2ee8SDavid du Colombier 104*219b2ee8SDavid du ColombierMAKE=/bin/make 105*219b2ee8SDavid du ColombierMAKEFILE=postscript.mk 106*219b2ee8SDavid du Colombier 107*219b2ee8SDavid du ColombierSYSTEM=V9 108*219b2ee8SDavid du ColombierVERSION=3.3.2 109*219b2ee8SDavid du Colombier 110*219b2ee8SDavid du ColombierGROUP=bin 111*219b2ee8SDavid du ColombierOWNER=bin 112*219b2ee8SDavid du Colombier 113*219b2ee8SDavid du ColombierROOT= 114*219b2ee8SDavid du ColombierFONTDIR=$(ROOT)/usr/lib/font 115*219b2ee8SDavid du ColombierHOSTDIR=$(ROOT)/usr/lib/font/postscript 116*219b2ee8SDavid du ColombierMAN1DIR=$(ROOT)/tmp 117*219b2ee8SDavid du ColombierPOSTBIN=$(ROOT)/usr/bin/postscript 118*219b2ee8SDavid du ColombierPOSTLIB=$(ROOT)/usr/lib/postscript 119*219b2ee8SDavid du ColombierTMACDIR=$(ROOT)/usr/lib/tmac 120*219b2ee8SDavid du Colombier 121*219b2ee8SDavid du ColombierCOMMONDIR=common 122*219b2ee8SDavid du ColombierCURRENTDIR=. 123*219b2ee8SDavid du Colombier 124*219b2ee8SDavid du ColombierCFLGS=-O 125*219b2ee8SDavid du ColombierLDFLGS=-s 126*219b2ee8SDavid du Colombier 127*219b2ee8SDavid du ColombierDKHOST=FALSE 128*219b2ee8SDavid du ColombierDKSTREAMS=FALSE 129*219b2ee8SDavid du ColombierROUNDPAGE=TRUE 130*219b2ee8SDavid du Colombier 131*219b2ee8SDavid du Colombier# 132*219b2ee8SDavid du Colombier# $(TARGETS) is the default list of things built by make. Pick dpost or 133*219b2ee8SDavid du Colombier# dpost.utf but not both! 134*219b2ee8SDavid du Colombier# 135*219b2ee8SDavid du Colombier 136*219b2ee8SDavid du ColombierTARGETS=buildtables\ 137*219b2ee8SDavid du Colombier common\ 138*219b2ee8SDavid du Colombier cropmarks\ 139*219b2ee8SDavid du Colombier devLatin1\ 140*219b2ee8SDavid du Colombier devpost\ 141*219b2ee8SDavid du Colombier download\ 142*219b2ee8SDavid du Colombier dpost.utf\ 143*219b2ee8SDavid du Colombier grabit\ 144*219b2ee8SDavid du Colombier hardcopy\ 145*219b2ee8SDavid du Colombier mpictures\ 146*219b2ee8SDavid du Colombier picpack\ 147*219b2ee8SDavid du Colombier postbgi\ 148*219b2ee8SDavid du Colombier postdaisy\ 149*219b2ee8SDavid du Colombier postdmd\ 150*219b2ee8SDavid du Colombier postgif\ 151*219b2ee8SDavid du Colombier postio\ 152*219b2ee8SDavid du Colombier postmd\ 153*219b2ee8SDavid du Colombier postprint\ 154*219b2ee8SDavid du Colombier postreverse\ 155*219b2ee8SDavid du Colombier posttek\ 156*219b2ee8SDavid du Colombier printfont\ 157*219b2ee8SDavid du Colombier psencoding\ 158*219b2ee8SDavid du Colombier psfiles\ 159*219b2ee8SDavid du Colombier trofftable 160*219b2ee8SDavid du Colombier 161*219b2ee8SDavid du ColombierACTION=all 162*219b2ee8SDavid du Colombier 163*219b2ee8SDavid du Colombierall : $(TARGETS) 164*219b2ee8SDavid du Colombier 165*219b2ee8SDavid du Colombierclean clobber : 166*219b2ee8SDavid du Colombier @$(MAKE) -e -f $(MAKEFILE) MAKE=$(MAKE) ACTION=$@ $(TARGETS) 167*219b2ee8SDavid du Colombier 168*219b2ee8SDavid du Colombierinstall changes : 169*219b2ee8SDavid du Colombier @SYSTEM='$(SYSTEM)'; export SYSTEM; \ 170*219b2ee8SDavid du Colombier VERSION='$(VERSION)'; export VERSION; \ 171*219b2ee8SDavid du Colombier GROUP='$(GROUP)'; export GROUP; \ 172*219b2ee8SDavid du Colombier OWNER='$(OWNER)'; export OWNER; \ 173*219b2ee8SDavid du Colombier FONTDIR='$(FONTDIR)'; export FONTDIR; \ 174*219b2ee8SDavid du Colombier HOSTDIR='$(HOSTDIR)'; export HOSTDIR; \ 175*219b2ee8SDavid du Colombier MAN1DIR='$(MAN1DIR)'; export MAN1DIR; \ 176*219b2ee8SDavid du Colombier POSTBIN='$(POSTBIN)'; export POSTBIN; \ 177*219b2ee8SDavid du Colombier POSTLIB='$(POSTLIB)'; export POSTLIB; \ 178*219b2ee8SDavid du Colombier TMACDIR='$(TMACDIR)'; export TMACDIR; \ 179*219b2ee8SDavid du Colombier ROUNDPAGE='$(ROUNDPAGE)'; export ROUNDPAGE; \ 180*219b2ee8SDavid du Colombier $(MAKE) -e -f $(MAKEFILE) MAKE=$(MAKE) ACTION=$@ $(TARGETS) 181*219b2ee8SDavid du Colombier 182*219b2ee8SDavid du Colombier$(TARGETS) :: 183*219b2ee8SDavid du Colombier @TARGETS=; unset TARGETS; \ 184*219b2ee8SDavid du Colombier HFILES=; unset HFILES; \ 185*219b2ee8SDavid du Colombier OFILES=; unset OFILES; \ 186*219b2ee8SDavid du Colombier CFLAGS=; unset CFLAGS; \ 187*219b2ee8SDavid du Colombier LDFLAGS=; unset LDFLAGS; \ 188*219b2ee8SDavid du Colombier YFLAGS=; unset YFLAGS; \ 189*219b2ee8SDavid du Colombier SYSTEM='$(SYSTEM)'; export SYSTEM; \ 190*219b2ee8SDavid du Colombier VERSION='$(VERSION)'; export VERSION; \ 191*219b2ee8SDavid du Colombier CFLGS='$(CFLGS)'; export CFLGS; \ 192*219b2ee8SDavid du Colombier LDFLGS='$(LDFLGS)'; export LDFLGS; \ 193*219b2ee8SDavid du Colombier COMMONDIR='../$(COMMONDIR)'; export COMMONDIR; \ 194*219b2ee8SDavid du Colombier DKHOST='$(DKHOST)'; export DKHOST; \ 195*219b2ee8SDavid du Colombier DKSTREAMS='$(DKSTREAMS)'; export DKSTREAMS; \ 196*219b2ee8SDavid du Colombier if [ -d $@ -a -f $@/$@.mk ]; then \ 197*219b2ee8SDavid du Colombier cd $@; \ 198*219b2ee8SDavid du Colombier echo "---- Making $(ACTION) in directory $(CURRENTDIR)/$@ ----"; \ 199*219b2ee8SDavid du Colombier $(MAKE) -e -f $@.mk MAKE=$(MAKE) $(ACTION); \ 200*219b2ee8SDavid du Colombier echo; \ 201*219b2ee8SDavid du Colombier fi 202*219b2ee8SDavid du Colombier 203