blob: af3d416661a7ce83dd1a5d531841c5c98761924a [file] [log] [blame]
# Sample makefile for pngcrush using gcc and GNU make.
# Glenn Randers-Pehrson
# Last modified: 19 February 2005
#
# Invoke this makefile from a shell prompt in the usual way; for example:
#
# make -f makefile.gcc
#
# This makefile builds a statically linked executable.
# macros --------------------------------------------------------------------
# uncomment these 2 lines only if you are using an external copy of zlib:
#ZINC = ../../zlib
#ZLIB = ../../zlib
CC = gcc
LD = gcc
# CC = /usr/local/bin/gcc-4.3.3
# LD = /usr/local/bin/gcc-4.3.3
RM = rm -f
#CFLAGS = -I. -O -Wall
#CFLAGS = -I. -O3 -fomit-frame-pointer -Wall
CFLAGS = -I. -O3 -fomit-frame-pointer -Wall -Wshadow
#CFLAGS = -I${ZINC} -I. -O3 -fomit-frame-pointer -Wall
# [note that -Wall is a gcc-specific compilation flag ("all warnings on")]
LDFLAGS =
O = .o
E =
PNGCRUSH = pngcrush
LIBS = -lm
#LIBS = -L${ZLIB} -lz -lm
#LIBS = ${ZLIB}/libz.a -lm
# uncomment these 4 lines only if you are NOT using an external copy of zlib:
ZHDR = zlib.h
ZOBJS = adler32$(O) compress$(O) crc32$(O) deflate$(O) gzio$(O) \
infback$(O) inffast$(O) inflate$(O) inftrees$(O) \
trees$(O) uncompr$(O) zutil$(O)
OBJS = pngcrush$(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) \
pngwtran$(O) pngwutil$(O) $(ZOBJS)
EXES = $(PNGCRUSH)$(E)
# implicit make rules -------------------------------------------------------
.c$(O): png.h pngconf.h pngcrush.h cexcept.h $(ZHDR)
$(CC) -c $(CFLAGS) $<
# dependencies --------------------------------------------------------------
all: $(EXES)
pngcrush$(O): pngcrush.c png.h pngconf.h pngcrush.h cexcept.h $(ZHDR)
$(CC) -c $(CFLAGS) $<
$(PNGCRUSH)$(E): $(OBJS)
$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
# maintenance ---------------------------------------------------------------
clean:
$(RM) $(EXES) $(OBJS)