mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00

Delete variables (ALIGN, ARCH, DOCS) and targets (writelock) that are no longer necessary. Reorder the object file lists alphabetically, consistently across all makefiles and build scripts. Apply other minor fixes.
134 lines
4.8 KiB
Plaintext
134 lines
4.8 KiB
Plaintext
# makefile for libpng
|
|
# Copyright (C) 2020 Cosmin Truta
|
|
# Copyright (C) 2002, 2006, 2014 Glenn Randers-Pehrson
|
|
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
|
|
#
|
|
# This code is released under the libpng license.
|
|
# For conditions of distribution and use, see the disclaimer
|
|
# and license in png.h
|
|
|
|
# where make install puts libpng.a and png.h
|
|
prefix=/usr/local
|
|
INCPATH=$(prefix)/include
|
|
LIBPATH=$(prefix)/lib
|
|
|
|
# override DESTDIR= on the make install command line to easily support
|
|
# installing into a temporary location. Example:
|
|
#
|
|
# make install DESTDIR=/tmp/build/libpng
|
|
#
|
|
# If you're going to install into a temporary location
|
|
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
|
|
# you execute make install.
|
|
DESTDIR=
|
|
|
|
# Where the zlib library and include files are located
|
|
#ZLIBLIB=/usr/local/lib
|
|
#ZLIBINC=/usr/local/include
|
|
ZLIBLIB=../zlib
|
|
ZLIBINC=../zlib
|
|
|
|
CC = cc
|
|
CPP = $(CC) -E
|
|
LD = $(CC)
|
|
AR_RC = ar rc
|
|
MKDIR_P = mkdir
|
|
LN_SF = ln -sf
|
|
RANLIB = ranlib
|
|
CP = cp
|
|
RM_F = rm -f
|
|
AWK = awk
|
|
SED = sed
|
|
ECHO = echo
|
|
|
|
DFNFLAGS = # DFNFLAGS contains -D options to use in the libpng build
|
|
DFA_EXTRA = # extra files that can be used to control configuration
|
|
CPPFLAGS = -I$(ZLIBINC) # -DPNG_DEBUG=5
|
|
CFLAGS = -O # -g
|
|
LDFLAGS = -L$(ZLIBLIB)
|
|
LIBS = -lz -lm
|
|
|
|
# Pre-built configuration
|
|
# See scripts/pnglibconf.mak for more options
|
|
PNGLIBCONF_H_PREBUILT = scripts/pnglibconf.h.prebuilt
|
|
|
|
OBJS = 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
|
|
|
|
.c.o:
|
|
$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
|
|
|
|
all: libpng.a pngtest
|
|
|
|
# The standard pnglibconf.h exists as scripts/pnglibconf.h.prebuilt,
|
|
# copy this if the following doesn't work.
|
|
pnglibconf.h: pnglibconf.dfn
|
|
$(RM_F) $@ pnglibconf.c pnglibconf.out pnglibconf.tmp
|
|
$(ECHO) '#include "pnglibconf.dfn"' >pnglibconf.c
|
|
$(ECHO) "If '$(CC) -E' crashes try /lib/cpp (e.g. CPP='/lib/cpp')" >&2
|
|
$(CPP) $(DFNFLAGS) pnglibconf.c >pnglibconf.out
|
|
$(AWK) -f "scripts/dfn.awk" out="pnglibconf.tmp" pnglibconf.out 1>&2
|
|
mv pnglibconf.tmp $@
|
|
|
|
pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h pngusr.dfa $(DFA_XTRA)
|
|
$(RM_F) $@ pnglibconf.pre pnglibconf.tmp
|
|
$(ECHO) "Calling $(AWK) from scripts/pnglibconf.mak" >&2
|
|
$(ECHO) "If 'awk' crashes try a better awk (e.g. AWK='nawk')" >&2
|
|
$(AWK) -f scripts/options.awk out="pnglibconf.pre"\
|
|
version=search pngconf.h scripts/pnglibconf.dfa\
|
|
pngusr.dfa $(DFA_XTRA) 1>&2
|
|
$(AWK) -f scripts/options.awk out="pnglibconf.tmp" pnglibconf.pre 1>&2
|
|
mv pnglibconf.tmp $@
|
|
|
|
libpng.a: $(OBJS)
|
|
$(AR_RC) $@ $(OBJS)
|
|
$(RANLIB) $@
|
|
|
|
pngtest: pngtest.o libpng.a
|
|
$(LD) $(LDFLAGS) -o $@ pngtest.o libpng.a $(LIBS)
|
|
|
|
test: pngtest
|
|
./pngtest
|
|
|
|
install: libpng.a pnglibconf.h
|
|
-@$(MKDIR_P) $(DESTDIR)$(INCPATH)
|
|
-@$(MKDIR_P) $(DESTDIR)$(INCPATH)/libpng
|
|
-@$(MKDIR_P) $(DESTDIR)$(LIBPATH)
|
|
-@$(RM_F) $(DESTDIR)$(INCPATH)/png.h
|
|
-@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h
|
|
-@$(RM_F) $(DESTDIR)$(INCPATH)/pnglibconf.h
|
|
cp png.h $(DESTDIR)$(INCPATH)/libpng
|
|
cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
|
|
cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng
|
|
chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
|
|
chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
|
|
chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h
|
|
(cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
|
|
cp libpng.a $(DESTDIR)$(LIBPATH)
|
|
chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
|
|
|
|
clean:
|
|
$(RM_F) *.o libpng.a pngtest pngout.png pnglibconf.h
|
|
$(RM_F) pnglibconf.c pnglibconf.dfn pnglibconf.out pnglibconf.pre
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
|
|
|
png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
|
|
pngtest.o: png.h pngconf.h pnglibconf.h
|