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.
121 lines
3.6 KiB
Plaintext
121 lines
3.6 KiB
Plaintext
# makefile for libpng using MSYS/gcc (shared, static library)
|
|
# Copyright (C) 2019-2022 Cosmin Truta
|
|
# Copyright (C) 2012 Glenn Randers-Pehrson and Christopher M. Wheeler
|
|
#
|
|
# Portions taken from makefile.linux and makefile.gcc:
|
|
# Copyright (C) 2000 Cosmin Truta
|
|
# Copyright (C) 1998, 1999, 2002, 2006, 2008, 2010-2014 Greg Roelofs and
|
|
# Glenn Randers-Pehrson
|
|
# Copyright (C) 1996, 1997 Andreas Dilger
|
|
# 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
|
|
|
|
# Library name:
|
|
LIBNAME=libpng16
|
|
PNGMAJ=16
|
|
|
|
# Shared library names:
|
|
LIBSO=$(LIBNAME).dll
|
|
LIBSOMAJ=$(LIBNAME).dll.$(PNGMAJ)
|
|
|
|
# Where the zlib library and include files are located.
|
|
#ZLIBLIB=../zlib
|
|
#ZLIBINC=../zlib
|
|
ZLIBLIB=/usr/local/lib
|
|
ZLIBINC=/usr/local/include
|
|
|
|
# Compiler, linker, lib and other tools
|
|
CC = gcc
|
|
LD = $(CC)
|
|
AR_RC = ar rcs
|
|
RANLIB = ranlib
|
|
CP = cp
|
|
RM_F = rm -rf
|
|
MKDIR_P=mkdir -p
|
|
LN_SF=ln -sf
|
|
|
|
CPPFLAGS = # -DPNG_DEBUG=5
|
|
CFLAGS = -O2 -Wall -Wextra -Wundef # -g
|
|
LDFLAGS = # -g
|
|
LIBS = -lz -lm
|
|
|
|
# File extensions
|
|
EXEEXT=.exe
|
|
|
|
# Pre-built configuration
|
|
# See scripts/pnglibconf.mak for more options
|
|
PNGLIBCONF_H_PREBUILT = scripts/pnglibconf.h.prebuilt
|
|
|
|
# File lists
|
|
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
|
|
|
|
# Targets
|
|
all: static shared
|
|
|
|
pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
|
|
$(CP) $(PNGLIBCONF_H_PREBUILT) $@
|
|
|
|
.c.o:
|
|
$(CC) -c $(CPPFLAGS) $(CFLAGS) $<
|
|
|
|
static: libpng.a pngtest$(EXEEXT)
|
|
|
|
shared: $(LIBSOMAJ)
|
|
$(CC) -shared -Wl,-soname,$(LIBSOMAJ) -o $(LIBSO)
|
|
|
|
$(LIBSO): $(LIBSOMAJ)
|
|
$(LN_SF) $(LIBSOMAJ) $(LIBSO)
|
|
|
|
$(LIBSOMAJ):
|
|
$(CC) -shared -Wl,-soname,$(LIBSOMAJ) -o $(LIBSOMAJ)
|
|
|
|
libpng.a: $(OBJS)
|
|
$(AR_RC) $@ $(OBJS)
|
|
$(RANLIB) $@
|
|
|
|
install:
|
|
@echo "The $@ target is no longer supported by this makefile."
|
|
@false
|
|
|
|
install-static:
|
|
@echo "The $@ target is no longer supported by this makefile."
|
|
@false
|
|
|
|
install-shared:
|
|
@echo "The $@ target is no longer supported by this makefile."
|
|
@false
|
|
|
|
test: pngtest$(EXEEXT)
|
|
./pngtest$(EXEEXT)
|
|
|
|
pngtest$(EXEEXT): pngtest.o libpng.a
|
|
$(LD) $(LDFLAGS) -o $@ pngtest.o libpng.a $(LIBS)
|
|
|
|
clean:
|
|
$(RM_F) $(OBJS) libpng.a
|
|
$(RM_F) $(LIBSO) $(LIBSOMAJ) pnglibconf.h
|
|
$(RM_F) pngtest*.o pngtest$(EXEEXT) pngout.png
|
|
|
|
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
|