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.