Changeset 103316 in vbox for trunk/src/libs/libpng-1.6.42/scripts/makefile.linux
- Timestamp:
- Feb 12, 2024 3:57:56 PM (13 months ago)
- svn:sync-xref-src-repo-rev:
- 161613
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/libs/libpng-1.6.42/scripts/makefile.linux
r96425 r103316 1 1 # makefile for libpng.a and libpng16.so on Linux ELF with gcc 2 # Copyright (C) 2020-2022 Cosmin Truta 2 3 # Copyright (C) 1998, 1999, 2002, 2006, 2008, 2010-2014 Greg Roelofs and 3 4 # Glenn Randers-Pehrson … … 9 10 10 11 # Library name: 11 LIBNAME = libpng16 12 PNGMAJ = 16 13 RELEASE = 37 12 LIBNAME=libpng16 13 PNGMAJ=16 14 14 15 15 # Shared library names: 16 16 LIBSO=$(LIBNAME).so 17 17 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ) 18 LIBSOREL=$(LIBSOMAJ).$(RELEASE)19 OLDSO=libpng.so20 18 21 19 # Utilities: 20 CC=gcc 22 21 AR_RC=ar rc 23 CC=gcc 22 RANLIB=ranlib 24 23 MKDIR_P=mkdir -p 25 24 LN_SF=ln -sf 26 RANLIB=ranlib27 25 CP=cp 28 RM_F=/bin/rm -f 29 30 # where "make install" puts libpng16.a, libpng16.so*, 31 # libpng16/png.h, libpng16/pngconf.h, and libpng16/pnglibconf.h 32 # Prefix must be a full pathname. 33 prefix=/usr/local 34 exec_prefix=$(prefix) 26 RM_F=rm -f 35 27 36 28 # Where the zlib library and include files are located. … … 40 32 ZLIBINC=../zlib 41 33 42 ALIGN= 43 # for i386: 44 #ALIGN=-malign-loops=2 -malign-functions=2 45 34 # Compiler and linker flags 35 NOHWOPT=-DPNG_ARM_NEON_OPT=0 -DPNG_MIPS_MSA_OPT=0 \ 36 -DPNG_POWERPC_VSX_OPT=0 -DPNG_INTEL_SSE_OPT=0 46 37 WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \ 47 38 -Wmissing-declarations -Wtraditional -Wcast-align \ 48 -Wstrict-prototypes -Wmissing-prototypes #-Wconversion 49 50 # for pgcc version 2.95.1, -O3 is buggy; don't use it. 51 52 CPPFLAGS=-I$(ZLIBINC) # -DPNG_DEBUG=5 53 CFLAGS=-W -Wall -O3 -funroll-loops $(ALIGN) # $(WARNMORE) -g 54 55 LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng16 -lz -lm 56 LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm 57 58 INCPATH=$(prefix)/include 59 LIBPATH=$(exec_prefix)/lib 60 MANPATH=$(prefix)/man 61 BINPATH=$(exec_prefix)/bin 62 63 # override DESTDIR= on the make install command line to easily support 64 # installing into a temporary location. Example: 65 # 66 # make install DESTDIR=/tmp/build/libpng 67 # 68 # If you're going to install into a temporary location 69 # via DESTDIR, $(DESTDIR)$(prefix) must already exist before 70 # you execute make install. 71 DESTDIR= 72 73 DB=$(DESTDIR)$(BINPATH) 74 DI=$(DESTDIR)$(INCPATH) 75 DL=$(DESTDIR)$(LIBPATH) 76 DM=$(DESTDIR)$(MANPATH) 39 -Wstrict-prototypes -Wmissing-prototypes # -Wconversion 40 DEFS=$(NOHWOPT) 41 CPPFLAGS=-I$(ZLIBINC) $(DEFS) # -DPNG_DEBUG=5 42 CFLAGS=-O3 -funroll-loops -Wall -Wextra -Wundef # $(WARNMORE) -g 43 LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng16 -lz -lm # -g 44 LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm # -g 77 45 78 46 # Pre-built configuration … … 80 48 PNGLIBCONF_H_PREBUILT = scripts/pnglibconf.h.prebuilt 81 49 82 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ 83 pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ 84 pngwtran.o pngmem.o pngerror.o pngpread.o 50 # File lists 51 OBJS = png.o pngerror.o pngget.o pngmem.o pngpread.o \ 52 pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o \ 53 pngtrans.o pngwio.o pngwrite.o pngwtran.o pngwutil.o 85 54 86 55 OBJSDLL = $(OBJS:.o=.pic.o) … … 94 63 $(CC) -c $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ $*.c 95 64 96 all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config65 all: libpng.a $(LIBSO) pngtest pngtest-static 97 66 98 67 pnglibconf.h: $(PNGLIBCONF_H_PREBUILT) … … 102 71 $(AR_RC) $@ $(OBJS) 103 72 $(RANLIB) $@ 104 105 libpng.pc:106 cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \107 -e s!@exec_prefix@!$(exec_prefix)! \108 -e s!@libdir@!$(LIBPATH)! \109 -e s!@includedir@!$(INCPATH)! \110 -e s!-lpng16!-lpng16\ -lz\ -lm! > libpng.pc111 112 libpng-config:113 ( cat scripts/libpng-config-head.in; \114 echo prefix=\"$(prefix)\"; \115 echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \116 echo L_opts=\"-L$(LIBPATH)\"; \117 echo R_opts=\"-Wl,-rpath,$(LIBPATH)\"; \118 echo libs=\"-lpng16 -lz -lm\"; \119 cat scripts/libpng-config-body.in ) > libpng-config120 chmod +x libpng-config121 73 122 74 $(LIBSO): $(LIBSOMAJ) … … 142 94 ./pngtest-static 143 95 144 install-headers: png.h pngconf.h pnglibconf.h 145 -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi 146 -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi 147 cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME) 148 chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h 149 -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.h 150 -@$(RM_F) $(DI)/libpng 151 (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .) 96 install: 97 @echo "The $@ target is no longer supported by this makefile." 98 @false 152 99 153 install-static: install-headers libpng.a 154 -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi 155 cp libpng.a $(DL)/$(LIBNAME).a 156 chmod 644 $(DL)/$(LIBNAME).a 157 -@$(RM_F) $(DL)/libpng.a 158 (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a) 100 install-static: 101 @echo "The $@ target is no longer supported by this makefile." 102 @false 159 103 160 install-shared: install-headers $(LIBSOMAJ) libpng.pc 161 -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi 162 -@$(RM_F) $(DL)/$(LIBSO) 163 -@$(RM_F) $(DL)/$(LIBSOREL) 164 -@$(RM_F) $(DL)/$(OLDSO) 165 cp $(LIBSOMAJ) $(DL)/$(LIBSOREL) 166 chmod 755 $(DL)/$(LIBSOREL) 167 (cd $(DL); \ 168 $(LN_SF) $(LIBSOREL) $(LIBSO); \ 169 $(LN_SF) $(LIBSO) $(OLDSO)) 170 171 -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi 172 -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc 173 -@$(RM_F) $(DL)/pkgconfig/libpng.pc 174 cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc 175 chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc 176 (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc) 177 178 install-man: libpng.3 libpngpf.3 png.5 179 -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi 180 -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi 181 -@$(RM_F) $(DM)/man3/libpng.3 182 -@$(RM_F) $(DM)/man3/libpngpf.3 183 cp libpng.3 $(DM)/man3 184 cp libpngpf.3 $(DM)/man3 185 -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi 186 -@$(RM_F) $(DM)/man5/png.5 187 cp png.5 $(DM)/man5 188 189 install-config: libpng-config 190 -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi 191 -@$(RM_F) $(DB)/libpng-config 192 -@$(RM_F) $(DB)/$(LIBNAME)-config 193 cp libpng-config $(DB)/$(LIBNAME)-config 194 chmod 755 $(DB)/$(LIBNAME)-config 195 (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config) 196 197 install: install-static install-shared install-man install-config 198 199 # If you installed in $(DESTDIR), test-installed won't work until you 200 # move the library to its final location. Use test-dd to test it 201 # before then. 202 203 test-dd: 204 echo 205 echo Testing installed dynamic shared library in $(DL). 206 $(CC) -I$(DI) $(CPPFLAGS) \ 207 `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \ 208 -L$(DL) -L$(ZLIBLIB) -Wl, -rpath,$(DL) -Wl,-rpath,$(ZLIBLIB) \ 209 -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags` 210 ./pngtestd pngtest.png 211 212 test-installed: 213 $(CC) $(CPPFLAGS) \ 214 `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \ 215 -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \ 216 -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags` 217 ./pngtesti pngtest.png 104 install-shared: 105 @echo "The $@ target is no longer supported by this makefile." 106 @false 218 107 219 108 clean: 220 $(RM_F) *.o libpng.a pngtest pngout.png libpng-config \ 221 $(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \ 222 libpng.pc pnglibconf.h 223 224 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO 225 writelock: 226 chmod a-w *.[ch35] $(DOCS) scripts/* 109 $(RM_F) $(OBJS) $(OBJSDLL) libpng.a 110 $(RM_F) $(LIBSO) $(LIBSOMAJ)* pnglibconf.h 111 $(RM_F) pngtest*.o pngtest pngtest-static pngout.png 227 112 228 113 # DO NOT DELETE THIS LINE -- make depend depends on it. 229 114 230 png.o png.pic.o:png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h115 png.o png.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 231 116 pngerror.o pngerror.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 232 pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 233 pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 234 pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 235 pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 236 pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 237 pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 117 pngget.o pngget.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 118 pngmem.o pngmem.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 119 pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 120 pngread.o pngread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 121 pngrio.o pngrio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 238 122 pngrtran.o pngrtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 239 123 pngrutil.o pngrutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 124 pngset.o pngset.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 240 125 pngtrans.o pngtrans.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 126 pngwio.o pngwio.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 241 127 pngwrite.o pngwrite.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 242 128 pngwtran.o pngwtran.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 243 129 pngwutil.o pngwutil.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h 244 pngpread.o pngpread.pic.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h245 130 246 131 pngtest.o: png.h pngconf.h pnglibconf.h
Note:
See TracChangeset
for help on using the changeset viewer.