123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- #
- # Top level makefile. Instructions are included here and in the README file.
- #
- # First save a copy of this file. Then adjust the following definitions (all
- # come immediatedly after the initial block of comments):
- #
- # MAKE where make lives
- #
- # MAKEFILE name of this file - for recursive make calls. Must change
- # if you rename this file.
- #
- # SYSTEM best match for your version of Unix. Current choices for
- # SYSTEM are:
- #
- # SYSV - System V
- # V9 - Ninth Edition
- # BSD4_2 - Berkeley (eg. Sun)
- #
- # Controls conditional compilation in a few places.
- #
- # VERSION refers to the Version of the DWB package
- #
- # GROUP group assigned to all installed files
- #
- # OWNER owner of everything that's installed
- #
- # HOSTDIR hostresident font directory for PostScript printers. Only
- # used in the font download program.
- #
- # FONTDIR width table directory - for troff and dpost
- #
- # MAN1DIR command manpages. A command and its manpage are installed
- # together - there's no easy way to avoid it. Setting MAN1DIR
- # to an existing temporary directory (e.g. /tmp) means an
- # install will work but manpages won't go anywhere permanent.
- # MAN1DIR must already exist - it will not be created during
- # an install.
- #
- # POSTBIN where most PostScript support programs go. dpost and picpack
- # are the exceptions.
- #
- # POSTLIB prologues and miscellaneous PostScript files. Primarily for
- # the programs that live in POSTBIN.
- #
- # CFLGS common compiler options - used to build CFLAGS in the low
- # level makefiles. CFLGS and LDFLGS are best set on the make
- # command line.
- #
- # LDFLGS common link editor options - used to build LDFLAGS in the
- # low level makefiles. LDFLGS and CFLGS are best set on the
- # make command line.
- #
- # DKHOST set it to TRUE to compile the DKHOST Datakit support code
- # in postio. Temporarily resets SYSTEM to SYSV if DKHOST is
- # TRUE and SYSTEM is BSD4_2. Ignored if SYSTEM is not SYSV
- # or BSD4_2.
- #
- # DKSTREAMS enables streams based DKHOST support in postio when DKHOST
- # is TRUE and SYSTEM is SYSV or BSD4_2. Choices are TRUE,
- # FALSE, or a stream module name (e.g. dknetty or dkty). TRUE
- # selects dknetty. Newer systems may expect dkty.
- #
- # ROUNDPAGE must only be set to TRUE or FALSE. TRUE means translators
- # include code that maps clipping path dimensions into known
- # paper sizes.
- #
- # TARGETS the default list of what's built by make. Each target must
- # be the name of a source directory. A target that names a
- # non-existent source directory is ignored. Setting TARGETS
- # on the make command line overrides the default list.
- #
- # Source files must be updated whenever this file changes. If you change any
- # definitions type,
- #
- # make -f postscript.mk changes
- #
- # to update the source files, man pages, and low level makefiles.
- #
- # To build (but not install) the default package (i.e. everything named by
- # TARGETS) type,
- #
- # make -f postscript.mk all
- #
- # The recommended way to build and install the package is,
- #
- # make -f postscript.mk all install
- #
- # Although you'll likely have to be root for the install to work.
- #
- # After the package is installed use,
- #
- # make -f postscript.mk clobber
- #
- # to delete binary files and compiled programs from the source directories.
- #
- # Set TARGETS on the command line to select part of the package. For example,
- #
- # make -f postscript.mk TARGETS="dpost devpost" all install
- #
- # builds and installs dpsot and the PostScript font tables. Quotes hide white
- # space from the shell.
- #
- MAKE=/bin/make
- MAKEFILE=postscript.mk
- SYSTEM=V9
- VERSION=3.3.2
- GROUP=bin
- OWNER=bin
- ROOT=
- FONTDIR=$(ROOT)/usr/lib/font
- HOSTDIR=$(ROOT)/usr/lib/font/postscript
- MAN1DIR=$(ROOT)/tmp
- POSTBIN=$(ROOT)/usr/bin/postscript
- POSTLIB=$(ROOT)/usr/lib/postscript
- TMACDIR=$(ROOT)/usr/lib/tmac
- COMMONDIR=common
- CURRENTDIR=.
- CFLGS=-O
- LDFLGS=-s
- DKHOST=FALSE
- DKSTREAMS=FALSE
- ROUNDPAGE=TRUE
- #
- # $(TARGETS) is the default list of things built by make. Pick dpost or
- # dpost.utf but not both!
- #
- TARGETS=buildtables\
- common\
- cropmarks\
- devLatin1\
- devpost\
- download\
- dpost.utf\
- grabit\
- hardcopy\
- mpictures\
- picpack\
- postbgi\
- postdaisy\
- postdmd\
- postgif\
- postio\
- postmd\
- postprint\
- postreverse\
- posttek\
- printfont\
- psencoding\
- psfiles\
- trofftable
- ACTION=all
- all : $(TARGETS)
- clean clobber :
- @$(MAKE) -e -f $(MAKEFILE) MAKE=$(MAKE) ACTION=$@ $(TARGETS)
- install changes :
- @SYSTEM='$(SYSTEM)'; export SYSTEM; \
- VERSION='$(VERSION)'; export VERSION; \
- GROUP='$(GROUP)'; export GROUP; \
- OWNER='$(OWNER)'; export OWNER; \
- FONTDIR='$(FONTDIR)'; export FONTDIR; \
- HOSTDIR='$(HOSTDIR)'; export HOSTDIR; \
- MAN1DIR='$(MAN1DIR)'; export MAN1DIR; \
- POSTBIN='$(POSTBIN)'; export POSTBIN; \
- POSTLIB='$(POSTLIB)'; export POSTLIB; \
- TMACDIR='$(TMACDIR)'; export TMACDIR; \
- ROUNDPAGE='$(ROUNDPAGE)'; export ROUNDPAGE; \
- $(MAKE) -e -f $(MAKEFILE) MAKE=$(MAKE) ACTION=$@ $(TARGETS)
- $(TARGETS) ::
- @TARGETS=; unset TARGETS; \
- HFILES=; unset HFILES; \
- OFILES=; unset OFILES; \
- CFLAGS=; unset CFLAGS; \
- LDFLAGS=; unset LDFLAGS; \
- YFLAGS=; unset YFLAGS; \
- SYSTEM='$(SYSTEM)'; export SYSTEM; \
- VERSION='$(VERSION)'; export VERSION; \
- CFLGS='$(CFLGS)'; export CFLGS; \
- LDFLGS='$(LDFLGS)'; export LDFLGS; \
- COMMONDIR='../$(COMMONDIR)'; export COMMONDIR; \
- DKHOST='$(DKHOST)'; export DKHOST; \
- DKSTREAMS='$(DKSTREAMS)'; export DKSTREAMS; \
- if [ -d $@ -a -f $@/$@.mk ]; then \
- cd $@; \
- echo "---- Making $(ACTION) in directory $(CURRENTDIR)/$@ ----"; \
- $(MAKE) -e -f $@.mk MAKE=$(MAKE) $(ACTION); \
- echo; \
- fi
|