This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [ANNOUNCEMENT] Updated: libpng-1.0.9-3


On 5 Feb 2001, at 21:19, Charles Wilson wrote:

> soren@wonderstorm.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@flashmail.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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]