# Makefile for PS utilities BINMODE=0755 MANMODE=0644 CHMOD=chmod INSTALL=install -c -m $(BINMODE) INSTALLMAN=install -c -m $(MANMODE) BINDIR=/usr/local/bin SCRIPTDIR=$(BINDIR) MANDIR=/usr/local/share/man/man1 MANEXT=1 PAPER=a4 INCLUDEDIR=/usr/local/share/tex/dvips PERL=/usr/local/bin/perl # CFLAGS variable controls compilation. Add following flags if necessary: # -DVMS if compiling under VMS # -DMSDOS if compiling under MSDOS CFLAGS=-g -DPAPER=\"$(PAPER)\" # epsffit fits an epsf file to a given bounding box # psbook rearranges pages into signatures # psselect selects page ranges # pstops performs general page rearrangement and merging # psnup puts multiple logical pages on one physical page # definitions for Unix exe = obj = .o BIN = psbook psselect pstops epsffit psnup SHELLSCRIPTS = getafm PERLSCRIPTS = fixfmps fixmacps fixpsditps fixpspps fixtpps fixwfwps fixwpps \ fixwwps INCLUDES = md68_0.ps md71_0.ps MANPAGES = psbook.$(MANEXT) psselect.$(MANEXT) pstops.$(MANEXT) \ epsffit.$(MANEXT) psnup.$(MANEXT) getafm.$(MANEXT) \ fixfmps.$(MANEXT) fixmacps.$(MANEXT) fixpsditps.$(MANEXT) \ fixpspps.$(MANEXT) fixtpps.$(MANEXT) fixwfwps.$(MANEXT) \ fixwpps.$(MANEXT) fixwwps.$(MANEXT) RM = rm -f # Definitions for MSDOS #exe = .exe #obj = .obj #BIN = psbook$(exe) psselect$(exe) pstops$(exe) epsffit$(exe) psnup$(exe) #PERLSCRIPTS = #INCLUDES = #MANPAGES = #RM = del .SUFFIXES: .man .$(MANEXT) .man.$(MANEXT): R=`sed -n "s/.*RELEASE *//p" patchlevel.h`; \ P=`sed -n "s/.*PATCHLEVEL *//p" patchlevel.h`; \ M=`echo $(MANPAGES) | sed -e "s/\.$(MANEXT)/($(MANEXT)),/g" -e "s/, *$$//"`; \ sed -e "s/@PL@/$$P/" -e "s/@REL@/$$R/" -e "s/@MAN@/$$M/" \ -e "s/@PAPER@/$(PAPER)/" $< >$@ all: $(BIN) $(PERLSCRIPTS) $(MANPAGES) epsffit$(exe): epsffit.c $(CC) $(CFLAGS) -o epsffit$(exe) epsffit.c psnup$(exe): psnup$(obj) psutil$(obj) psspec$(obj) $(CC) $(CFLAGS) -o psnup$(exe) psutil$(obj) psspec$(obj) psnup$(obj) psbook$(exe): psbook$(obj) psutil$(obj) $(CC) $(CFLAGS) -o psbook$(exe) psutil$(obj) psbook$(obj) psselect$(exe): psselect$(obj) psutil$(obj) $(CC) $(CFLAGS) -o psselect$(exe) psutil$(obj) psselect$(obj) pstops$(exe): pstops$(obj) psutil$(obj) psspec$(obj) $(CC) $(CFLAGS) -o pstops$(exe) psutil$(obj) psspec$(obj) pstops$(obj) psnup$(obj): psutil.h patchlevel.h psspec.h psnup.c psbook$(obj): psutil.h patchlevel.h psbook.c pstops$(obj): psutil.h patchlevel.h psspec.h pstops.c psselect$(obj): psutil.h patchlevel.h psselect.c psutil$(obj): psutil.h patchlevel.h psutil.c psspec$(obj): psutil.h patchlevel.h psspec.h psspec.c fixfmps: fixfmps.pl sed -e "s%@PERL@%$(PERL)%" $? >$@; \ $(CHMOD) $(BINMODE) $@ fixmacps: fixmacps.pl sed -e "s%@PERL@%$(PERL)%" \ -e "s%@INCLUDE@%$(INCLUDEDIR)%" $? >$@; \ $(CHMOD) $(BINMODE) $@ fixpsditps: fixpsditps.pl sed -e "s%@PERL@%$(PERL)%" $? >$@; \ $(CHMOD) $(BINMODE) $@ fixpspps: fixpspps.pl sed -e "s%@PERL@%$(PERL)%" $? >$@; \ $(CHMOD) $(BINMODE) $@ fixtpps: fixtpps.pl sed -e "s%@PERL@%$(PERL)%" $? >$@; \ $(CHMOD) $(BINMODE) $@ fixwfwps: fixwfwps.pl sed -e "s%@PERL@%$(PERL)%" $? >$@; \ $(CHMOD) $(BINMODE) $@ fixwpps: fixwpps.pl sed -e "s%@PERL@%$(PERL)%" $? >$@; \ $(CHMOD) $(BINMODE) $@ fixwwps: fixwwps.pl sed -e "s%@PERL@%$(PERL)%" $? >$@; \ $(CHMOD) $(BINMODE) $@ clean: $(RM) *$(obj) veryclean realclean: clean $(RM) $(BIN) $(PERLSCRIPTS) $(MANPAGES) install: install.bin install.script install.man install.include install.bin: $(BIN) @for i in $(BIN); do \ echo Installing $$i; \ $(INSTALL) $$i $(BINDIR); \ done install.script: $(PERLSCRIPTS) $(SHELLSCRIPTS) @for i in $(PERLSCRIPTS) $(SHELLSCRIPTS); do \ echo Installing $$i; \ $(INSTALL) $$i $(SCRIPTDIR); \ done install.include: $(INCLUDES) @for i in $(INCLUDES); do \ echo Installing $$i; \ $(INSTALLMAN) $$i $(INCLUDEDIR); \ done install.man: $(MANPAGES) @for i in $(MANPAGES); do \ echo Installing manual page for $$i; \ $(INSTALLMAN) $$i $(MANDIR)/$$i; \ done