On 3/26/09, Erik <esi...@gmail.com> wrote:
> Mike Shal skrev:
>
> > On 3/26/09, Erik <esi...@gmail.com> wrote:
>  >>
>  >>  But which is the right way to build that into the Makefile?
>  >
>  > Maybe you would be better off doing this in the shell rather than in
>  > make?
>
>
> I think make can do it just fine (I do not want to have another script
>  file in the directory). I RTFM and wrote this, which seems to work:
>  pagecount = $(shell pdfinfo $(1)|egrep "^Pages: *[[:digit:]]+"|sed
>  "s...@^pages: *\([[:digit:]]\+\)@\1@")
>  odd       = $(shell echo $(pagecount)%2|bc|grep 1)
>  filled    = $(1) $(if $(call odd,$(1)),emptypage.pdf)
>
> whole.pdf: 1.pdf 2.pdf 3.pdf 4.pdf 5.pdf 6.pdf 7.pdf 8.pdf 9.pdf
>
>     gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=$@ -dBATCH $(foreach
>  x,$^,$(call filled,$x)) || rm -f $@
>
>

Just to be clear, I wasn't suggesting creating a separate script file.
Instead of the single 'gs' command, there would be a for loop and the
gs command in the Makefile.

But if you already have it working with $(shell) and you're happy with
it, I see no reason to switch :)

-Mike


_______________________________________________
Help-make mailing list
Help-make@gnu.org
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to