# Makefile for PS utilities

CFLAGS=-g
INSTALL=install -c -m 0755 
INSTALLMAN=install -c -m 0644 
BINDIR=/usr/local/bin
MANDIR=/usr/local/share/man/man1
MANEXT=1
PAPER=a4

# 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

ALL = psbook psselect pstops epsffit psnup
ALLPLUS = $(ALL) fixfmps fixmacps fixpsditps fixpspps fixwfwps fixwpps

all: $(ALL)

epsffit: epsffit.c
	$(CC) $(CFLAGS) -o epsffit epsffit.c

psbook: psbook.o psutil.o
	$(CC) $(CFLAGS) -o psbook psutil.o psbook.o

psselect: psselect.o psutil.o
	$(CC) $(CFLAGS) -o psselect psutil.o psselect.o

pstops: pstops.o psutil.o
	$(CC) $(CFLAGS) -o pstops psutil.o pstops.o

psbook.c: psutil.h patchlevel.h

pstops.c: psutil.h patchlevel.h

psutil.c: psutil.h patchlevel.h

psselect.c: psutil.h patchlevel.h

psnup: psnup.sh patchlevel.h
	r=`sed -n -e "s/^#define RELEASE \([0-9][0-9]*\)/\1/p" <patchlevel.h`; \
	p=`sed -n -e "s/^#define PATCHLEVEL \([0-9][0-9]*\)/\1/p" <patchlevel.h`; \
	sed -e "s/@PATCHLEVEL@/$$p/" -e "s/@RELEASE@/$$r/" -e "s/@PAPER@/$(PAPER)/" psnup.sh >psnup; \
	chmod 755 psnup

clean:
	rm -f *.o

veryclean: clean
	rm -f $(ALL)

install:
	@for i in $(ALLPLUS); do \
		echo Installing $$i; \
		$(INSTALL) $$i $(BINDIR); \
	done

installman:
	@for i in $(ALL); do \
		echo Installing manual page for $$i; \
		$(INSTALLMAN) $$i.1 $(MANDIR)/$$i.$(MANEXT); \
	done

