Mail Archives: cygwin/2001/02/06/00:28:10
On 5 Feb 2001, at 21:19, Charles Wilson wrote:
> soren AT wonderstorm DOT com wrote:
> > I have the following Makefile (copied here in full because I have exhausted
> > every idea that has occurred to me about why this makefile fails the way it
> > does).
> >
> > When this is run it fails immediately with a message:
> >
> > ------- console dump, watch for wrapping -------
> > make: *** No rule to make target `adler32.c', needed by `adler32.o'. Stop.
> > ------- cut here -------------------------------
> >
> > The MAKEFILE:
{snip}
> > ------- cut here -------------------------------
The reason for the failure in `make' was simply that I hadn't
included the vpath for the "zlib" sources as well as the path to find
the libpng sources.So, the main matter of this message is now
moot.
I have got it now -- just finished the makefile. Here it is (obviously
some of it is specific to my filesystem and would need to be
reconfigured by another user; also, realize that the dynamic linking
only works to a *custom* libpng*.dll).
---- Makefile -- watch for wrapping ---------------
# Sample GNU-make makefile for pngcrush using gcc and make.
# Started by: Glenn Randers-Pehrson
# Last modified: Monday, February 05, 2001 11:49 PM by Soren Andersen
# <libertador AT flashmail DOT com>
#
# Invoke this makefile from a shell prompt in the usual way; for example:
#
# make -f makefile.gcc all
#
# This makefile builds a statically linked executable by default; if the flag
# "LINKTYPE=DLL" is added to the makeline, it will build against a custom
# libpng.dll.
# macros --------------------------------------------------------------------
VPATH = . ../libpng-1.0.8 /mingw/include /usr/include
SHELL =/bin/bash
CC = gcc
LD = gcc
RM = rm -vf
CFLAGS = -I. -I../libpng-1.0.8 -I/mingw/include -O3 -Wall -Wp,-remap
LDFLAGS =
O = .o
E = .exe
PNGCRUSH = pngcrush
LIBS = -lm
LIBPATH =
ifeq (DLL,$(LINKTYPE))
# .so version of libpng being used to build:
PNGMAJ = 2
ifeq (MINGW32,$(BUILD))
SHAREDLIB=libpng$(PNGMAJ).dll
IMPLIB= -lpng.dll
else
SHAREDLIB=cygpng$(PNGMAJ).dll
IMPLIB= -lcygpng.dll
endif
OBJS =
LIBPATH = -L../libpng-1.0.8
LIBS += $(IMPLIB)
$(PNGCRUSH)$(O): pngcrush.c png.h pngconf.h zlib.h pngcrush.h cexcept.h
else
PNGCRUSH = pngcrush_static
OBJS = adler32$(O) crc32$(O) deflate$(O) gzio$(O) \
infblock$(O) infcodes$(O) inffast$(O) inflate$(O) inftrees$(O) \
infutil$(O) png$(O) pngerror$(O) pngget$(O) pngmem$(O) \
pngpread$(O) pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) \
pngset$(O) pngtrans$(O) pngwio$(O) pngwrite$(O) pnggccrd$(O) \
pngwtran$(O) pngwutil$(O) trees$(O) zutil$(O)
vpath %.c /zlib-1.1.3 ../libpng-1.0.8
vpath %.h . /zlib-1.1.3 ../libpng-1.0.8
$(OBJS) : %.o: %.c
$(CC) -c $(CFLAGS) -DPNG_STATIC -DZLIB_STATIC -o $@ `cygpath -paw $<`
$(PNGCRUSH)$(O) : pngcrush.c png.h pngconf.h zlib.h pngcrush.h cexcept.h
$(CC) -c $(CFLAGS) -o $@ $<
CFLAGS += -funroll-loops -fomit-frame-pointer
LDFLAGS = -mconsole -mpentium
endif
EXES = $(PNGCRUSH)$(E)
# dependencies --------------------------------------------------------------
all: $(EXES)
$(PNGCRUSH)$(E): $(OBJS) $(PNGCRUSH)$(O)
$(LD) $(LDFLAGS) -o $@ $(PNGCRUSH)$(O) $(OBJS) $(LIBPATH) $(LIBS)
# maintenance ---------------------------------------------------------------
clean:
$(RM) $(EXES) $(OBJS)
# Useful for debugging the values of variables during a make. To use
# it just call: make DEBUGVARS="var1 var2". No targets will get
# executed
#
ifdef DEBUGVARS
eval=$(1)
$(warning Debugging value of variables:)
$(foreach var,$(DEBUGVARS),$(warning $(var) = "$(call eval,$$($(var)))"))
$(error End of debugging)
endif
------ cut here -----------------------
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -