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

In most of the legacy makefiles (with only a few notable exceptions such as makefile.linux), the "install" targets have been broken since libpng-1.5.0beta01. Specifically, the "install-shared" targets produced incorrect library names, due to a missing symbol in the definition of the LIBSOREL macro. Rather than correcting this long-standing and long-untested error, we decided to remove the support for "make install" altogether, from all legacy makefiles. Further use of "make install", "make install-static" or "make install-shared" will fail with an error message. Going forward, the only tested and supported manners to install libpng shall be the conventional build and install procedures driven by the configure script or by the CMake file.
105 lines
3.9 KiB
Plaintext
105 lines
3.9 KiB
Plaintext
# makefile for libpng
|
|
# Copyright (C) 2020-2022 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 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
|
|
RANLIB = ranlib
|
|
MKDIR_P = mkdir
|
|
MV_F = mv -f
|
|
RM_F = rm -f
|
|
AWK = awk
|
|
|
|
NOHWOPT = -DPNG_ARM_NEON_OPT=0 -DPNG_MIPS_MSA_OPT=0 \
|
|
-DPNG_POWERPC_VSX_OPT=0 -DPNG_INTEL_SSE_OPT=0
|
|
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) $(NOHWOPT) # -DPNG_DEBUG=5
|
|
CFLAGS = -O # -g
|
|
LDFLAGS = -L$(ZLIBLIB) # -g
|
|
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' fails, 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 >&2
|
|
$(MV_F) 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' fails, 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) >&2
|
|
$(AWK) -f scripts/options.awk out=pnglibconf.tmp pnglibconf.pre >&2
|
|
$(MV_F) 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:
|
|
@echo "The $@ target is no longer supported by this makefile."
|
|
@false
|
|
|
|
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
|