Hi!

Using make version 3.79.1, on Linux 2.2.16 with glibc-2.1.2.

Trying to write a makefile for the netpbm utilities
  http://sourceforge.net/project/?group_id=5128
to convert between any two graphics formats.

  % ls -la asdf.gif
  asdf.gif

  % make asdf.png
  make: *** No rule to make target `asdf.png'.  Stop.

  % make asdf.ppm
  make: Circular asdf.bmp <- asdf.ppm dependency dropped.
  ppmtobmp <  > asdf.bmp
  /bin/sh: -c: line 1: syntax error near unexpected token `>'
  /bin/sh: -c: line 1: `ppmtobmp <  > asdf.bmp'
  make: *** [asdf.bmp] Error 2

  % giftopnm asdf.gif | ppmtoxpm > asdf.xpm
  % rm asdf.gif
  % make asdf.png
  make: Circular asdf.xpm <- asdf.ppm dependency dropped.
  xpmtoppm < asdf.xpm > asdf.ppm
  pnmtopng < asdf.ppm > asdf.png
  rm asdf.ppm

  % ls asdf.*
  asdf.png  asdf.xpm

  %

Anyway, yes, perhaps I'm stretching 'make' too far, but I'm strongly
encouraged by the fact that this works some of the time!

It appears that the wrong dependency in a circular dependency gets
dropped, and also the value of $< gets clobbered.

Is this a bug in make, the makefile, or the author of the makefile?

Anyways, here's the makefile:

-------------------------------------------------
# Convert from ppm
%.acad : %.ppm
        ppmtoacad < $< > $@
%.bmp : %.ppm
        ppmtobmp < $< > $@
%.eyuv : %.ppm
        ppmtoeyuv < $< > $@
%.gif : %.ppm
        ppmquant 256 < $< | ppmtogif > $@
%.icr : %.ppm
        ppmtoicr < $< > $@
%.ilbm : %.ppm
        ppmquant 32 < $< | ppmtoilbm > $@
%.jpeg : %.ppm
        ppmtojpeg < $< > $@
%.leaf : %.ppm
        ppmtoleaf < $< > $@
%.map : %.ppm
        ppmtomap < $< > $@
%.mitsu : %.ppm
        ppmtomitsu < $< > $@
%.pcx : %.ppm
        ppmtopcx < $< > $@
%.pgm : %.ppm
        ppmtopgm < $< > $@
%.pi1 : %.ppm
        ppmtopi1 < $< > $@
%.pict : %.ppm
        ppmtopict < $< > $@
%.pj : %.ppm
        ppmtopj < $< > $@
%.pjxl : %.ppm
        ppmtopjxl < $< > $@
%.puzz : %.ppm
        ppmtopuzz < $< > $@
%.rgb3 : %.ppm
        ppmtorgb3 < $< > $@
%.sixel : %.ppm
        ppmtosixel < $< > $@
%.tga : %.ppm
        ppmtotga < $< > $@
%.uil : %.ppm
        ppmtouil < $< > $@
%.winicon : %.ppm
        ppmtowinicon < $< > $@
%.xpm : %.ppm
        ppmquant 256 < $< | ppmtoxpm > $@
%.yuv : %.ppm
        ppmtoyuv < $< > $@
%.yuvsplit : %.ppm
        ppmtoyuvsplit < $< > $@
%.png : %.ppm
        pnmtopng < $< > $@

# Convert to ppm
%.ppm : %.bmp
        bmptoppm < $< > $@
%.ppm : %.eyuv
        eyuvtoppm < $< > $@
%.ppm : %.gould
        gouldtoppm < $< > $@
%.ppm : %.hpcd
        hpcdtoppm < $< > $@
%.ppm : %.ilbm
        ilbmtoppm < $< > $@
%.ppm : %.img
        imgtoppm < $< > $@
%.ppm : %.leaf
        leaftoppm < $< > $@
%.ppm : %.mtv
        mtvtoppm < $< > $@
%.ppm : %.pcx
        pcxtoppm < $< > $@
%.ppm : %.pgm
        pgmtoppm < $< > $@
%.ppm : %.pi1
        pi1toppm < $< > $@
%.ppm : %.pict
        picttoppm < $< > $@
%.ppm : %.pj
        pjtoppm < $< > $@
%.ppm : %.qrt
        qrttoppm < $< > $@
%.ppm : %.raw
        rawtoppm < $< > $@
%.ppm : %.rgb3
        rgb3toppm < $< > $@
%.ppm : %.sld
        sldtoppm < $< > $@
%.ppm : %.spc
        spctoppm < $< > $@
%.ppm : %.spu
        sputoppm < $< > $@
%.ppm : %.tga
        tgatoppm < $< > $@
%.ppm : %.winicon
        winicontoppm < $< > $@
%.ppm : %.xim
        ximtoppm < $< > $@
%.ppm : %.xpm
        xpmtoppm < $< > $@
%.ppm : %.xvmini
        xvminitoppm < $< > $@
%.ppm : %.yuvsplit
        yuvsplittoppm < $< > $@
%.ppm : %.yuv
        yuvtoppm < $< > $@
-------------------------------------------------

--
Charles Howes -- [EMAIL PROTECTED]

Microsoft Magic Line, The: n; the curve on a price-performance chart defined by
the set of current shipping MS products.  New MS products shift the MML upward. 
Competitive products that fall below the MML become unmarketable and disappear. 
Hence, Microsoft is always the worst marketable solution for any real problem.

Reply via email to