#
# 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 $@/[email protected] ]; then \
cd $@; \
echo "---- Making $(ACTION) in directory $(CURRENTDIR)/$@ ----"; \
$(MAKE) -e -f [email protected] MAKE=$(MAKE) $(ACTION); \
echo; \
fi
|