Michael Marsh wrote: > On 12/14/05, H. S. <[EMAIL PROTECTED]> wrote: > >>I am trying to make a makefile to convert PDFs in a directory to 4-up >>PDFs using psnup but I am not able to. > > > Off hand, I'd probably use something like: > > #### BEGIN MAKEFILE #### > SRCS := $(filter-out %-4up.pdf,$(wildcard *.pdf)) > DESTS := $(patsubst %.pdf,%-4up.pdf,$(SRCS)) > > default : $(DESTS) > > %.ps : %.pdf > acroread -toPostScript $< > > %-4up.ps : %.ps > psnup -m0.5cm -l -Pletter -pletter -4 $< > $@ > > %-4up.pdf : %-4up.ps > ps2pdf $< > > #### END MAKEFILE #### > > Remember to change the spaces to tabs for the action lines. Gmail > won't let me enter a tab by hand. There's a circular dependency, but > it doesn't seem to cause problems. Since you have tighter naming > rules, you can probably change > > %.ps : %.pdf > > to > > %N.ps : %N.pdf >
That gave me a start. The circular dependency was a problem. Had to change a few things to arrive at the following makefile which works (tried "make -n" and all commands seem to work as expected): ############ start ############################################ SRCS:= $(filter-out %-4up.pdf,$(wildcard *.pdf)) DESTS:= $(patsubst %N.pdf,%N-4up.pdf,$(SRCS)) .SUFFIXES: .SUFFIXES: .pdf .ps N.ps N.pdf N-4up.pdf N-4up.ps default : $(DESTS) P: echo $(DESTS) %N.ps: %N.pdf # echo "First Step: making PS of $<" acroread -toPostScript $< %N-4up.ps : %N.ps # echo "Second Step: Makaing psnup of $<" psnup -m0.5cm -l -Pletter -pletter -4 $< > $@ %N-4up.pdf : %N-4up.ps # echo "Third Step: making PDF of psnup" ps2pdf $< ############ end ############################################ Defining the suffixes was important. And the restrictions on the output filenames (*N.pdf and *N-4up.pdf) actually helped in resolving the circular dependencies. Thanks, ->HS -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]