mirror of
				https://git.code.sf.net/p/libpng/code.git
				synced 2025-07-10 18:04:09 +02:00 
			
		
		
		
	 9b65ad49d3
			
		
	
	
		9b65ad49d3
		
	
	
	
	
		
			
			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.
		
			
				
	
	
		
			132 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # makefile for libpng.a and libpng16.so on Linux ELF with gcc
 | |
| # Copyright (C) 2020-2022 Cosmin Truta
 | |
| # Copyright (C) 1998, 1999, 2002, 2006, 2008, 2010-2014 Greg Roelofs and
 | |
| # Glenn Randers-Pehrson
 | |
| # Copyright (C) 1996, 1997 Andreas Dilger
 | |
| #
 | |
| # 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).so
 | |
| LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
 | |
| 
 | |
| # Utilities:
 | |
| CC=gcc
 | |
| AR_RC=ar rc
 | |
| RANLIB=ranlib
 | |
| MKDIR_P=mkdir -p
 | |
| LN_SF=ln -sf
 | |
| CP=cp
 | |
| RM_F=rm -f
 | |
| 
 | |
| # Where the zlib library and include files are located.
 | |
| #ZLIBLIB=/usr/local/lib
 | |
| #ZLIBINC=/usr/local/include
 | |
| ZLIBLIB=../zlib
 | |
| ZLIBINC=../zlib
 | |
| 
 | |
| # Compiler and linker flags
 | |
| NOHWOPT=-DPNG_ARM_NEON_OPT=0 -DPNG_MIPS_MSA_OPT=0 \
 | |
| 	-DPNG_POWERPC_VSX_OPT=0 -DPNG_INTEL_SSE_OPT=0
 | |
| WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
 | |
| 	-Wmissing-declarations -Wtraditional -Wcast-align \
 | |
| 	-Wstrict-prototypes -Wmissing-prototypes # -Wconversion
 | |
| DEFS=$(NOHWOPT)
 | |
| CPPFLAGS=-I$(ZLIBINC) $(DEFS) # -DPNG_DEBUG=5
 | |
| CFLAGS=-O3 -funroll-loops -Wall -Wextra -Wundef # $(WARNMORE) -g
 | |
| LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng16 -lz -lm # -g
 | |
| LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm # -g
 | |
| 
 | |
| # 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
 | |
| 
 | |
| OBJSDLL = $(OBJS:.o=.pic.o)
 | |
| 
 | |
| .SUFFIXES:      .c .o .pic.o
 | |
| 
 | |
| .c.o:
 | |
| 	$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
 | |
| 
 | |
| .c.pic.o:
 | |
| 	$(CC) -c $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ $*.c
 | |
| 
 | |
| all: libpng.a $(LIBSO) pngtest pngtest-static
 | |
| 
 | |
| pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
 | |
| 	$(CP) $(PNGLIBCONF_H_PREBUILT) $@
 | |
| 
 | |
| libpng.a: $(OBJS)
 | |
| 	$(AR_RC) $@ $(OBJS)
 | |
| 	$(RANLIB) $@
 | |
| 
 | |
| $(LIBSO): $(LIBSOMAJ)
 | |
| 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 | |
| 
 | |
| $(LIBSOMAJ): $(OBJSDLL)
 | |
| 	$(CC) -shared -Wl,-soname,$(LIBSOMAJ) -o $(LIBSOMAJ) $(OBJSDLL)
 | |
| 
 | |
| pngtest: pngtest.o $(LIBSO)
 | |
| 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 | |
| 
 | |
| pngtest-static: pngtest.o libpng.a
 | |
| 	$(CC) -o pngtest-static $(CFLAGS) pngtest.o $(LDFLAGS_A)
 | |
| 
 | |
| test: pngtest pngtest-static
 | |
| 	@echo ""
 | |
| 	@echo "   Running pngtest dynamically linked with $(LIBSO):"
 | |
| 	@echo ""
 | |
| 	./pngtest
 | |
| 	@echo ""
 | |
| 	@echo "   Running pngtest statically linked with libpng.a:"
 | |
| 	@echo ""
 | |
| 	./pngtest-static
 | |
| 
 | |
| 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
 | |
| 
 | |
| clean:
 | |
| 	$(RM_F) $(OBJS) $(OBJSDLL) libpng.a
 | |
| 	$(RM_F) $(LIBSO) $(LIBSOMAJ)* pnglibconf.h
 | |
| 	$(RM_F) pngtest*.o pngtest pngtest-static pngout.png
 | |
| 
 | |
| # DO NOT DELETE THIS LINE -- make depend depends on it.
 | |
| 
 | |
| png.o      png.pic.o:      png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngget.o   pngget.pic.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngmem.o   pngmem.pic.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngread.o  pngread.pic.o:  png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngrio.o   pngrio.pic.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngset.o   pngset.pic.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngwio.o   pngwio.pic.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| 
 | |
| pngtest.o: png.h pngconf.h pnglibconf.h
 |