X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/880c38ba18589a4a6dcff4a65fa1bf8e6b87402e..713129f9d34e3027d2be46b134d2f4c490ad145f:/src/png/scripts/makefile.linux diff --git a/src/png/scripts/makefile.linux b/src/png/scripts/makefile.linux index 67edfd977a..948e484dfb 100644 --- a/src/png/scripts/makefile.linux +++ b/src/png/scripts/makefile.linux @@ -1,19 +1,36 @@ # makefile for libpng.a and libpng12.so on Linux ELF with gcc -# Copyright (C) 1998, 1999, 2002 Greg Roelofs and Glenn Randers-Pehrson +# Copyright (C) 1998, 1999, 2002, 2006, 2008 Greg Roelofs and +# Glenn Randers-Pehrson # Copyright (C) 1996, 1997 Andreas Dilger # For conditions of distribution and use, see copyright notice in png.h +# Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.7 +PNGMIN = 1.2.34 PNGVER = $(PNGMAJ).$(PNGMIN) +# Shared library names: +LIBSO=$(LIBNAME).so +LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ) +LIBSOVER=$(LIBNAME).so.$(PNGVER) +OLDSO=libpng.so +OLDSOMAJ=libpng.so.3 +OLDSOVER=libpng.so.3.$(PNGMIN) + +# Utilities: +AR_RC=ar rc CC=gcc +MKDIR_P=mkdir -p +LN_SF=ln -sf +RANLIB=ranlib +RM_F=/bin/rm -f # where "make install" puts libpng12.a, libpng12.so*, # libpng12/png.h and libpng12/pngconf.h # Prefix must be a full pathname. prefix=/usr/local +exec_prefix=$(prefix) # Where the zlib library and include files are located. #ZLIBLIB=/usr/local/lib @@ -31,19 +48,16 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \ # for pgcc version 2.95.1, -O3 is buggy; don't use it. -CFLAGS=-I$(ZLIBINC) -Wall -O3 -funroll-loops \ +CFLAGS=-I$(ZLIBINC) -W -Wall -O3 -funroll-loops -DPNG_NO_MMX_CODE \ $(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5 LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng12 -lz -lm LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm -RANLIB=ranlib -#RANLIB=echo - INCPATH=$(prefix)/include -LIBPATH=$(prefix)/lib +LIBPATH=$(exec_prefix)/lib MANPATH=$(prefix)/man -BINPATH=$(prefix)/bin +BINPATH=$(exec_prefix)/bin # override DESTDIR= on the make install command line to easily support # installing into a temporary location. Example: @@ -71,14 +85,18 @@ OBJSDLL = $(OBJS:.o=.pic.o) .c.pic.o: $(CC) -c $(CFLAGS) -fPIC -o $@ $*.c -all: libpng.a $(LIBNAME).so pngtest pngtest-static libpng.pc libpng-config +all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config libpng.a: $(OBJS) - ar rc $@ $(OBJS) + $(AR_RC) $@ $(OBJS) $(RANLIB) $@ libpng.pc: - cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc + cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \ + -e s!@exec_prefix@!$(exec_prefix)! \ + -e s!@libdir@!$(LIBPATH)! \ + -e s!@includedir@!$(INCPATH)! \ + -e s!-lpng12!-lpng12\ -lz\ -lm! > libpng.pc libpng-config: ( cat scripts/libpng-config-head.in; \ @@ -90,23 +108,21 @@ libpng-config: cat scripts/libpng-config-body.in ) > libpng-config chmod +x libpng-config -$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ) - ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so +$(LIBSO): $(LIBSOMAJ) + $(LN_SF) $(LIBSOMAJ) $(LIBSO) -$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER) - ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ) +$(LIBSOMAJ): $(LIBSOVER) + $(LN_SF) $(LIBSOVER) $(LIBSOMAJ) -$(LIBNAME).so.$(PNGVER): $(OBJSDLL) - $(CC) -shared -Wl,-soname,$(LIBNAME).so.$(PNGMAJ) \ - -o $(LIBNAME).so.$(PNGVER) \ - $(OBJSDLL) +$(LIBSOVER): $(OBJSDLL) + $(CC) -shared -Wl,-soname,$(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL) -libpng.so.3.$(PNGMIN): $(OBJSDLL) - $(CC) -shared -Wl,-soname,libpng.so.3 \ - -o libpng.so.3.$(PNGMIN) \ +$(OLDSOVER): $(OBJSDLL) + $(CC) -shared -Wl,-soname,$(OLDSOMAJ) \ + -o $(OLDSOVER) \ $(OBJSDLL) -pngtest: pngtest.o $(LIBNAME).so +pngtest: pngtest.o $(LIBSO) $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) pngtest-static: pngtest.o libpng.a @@ -114,7 +130,7 @@ pngtest-static: pngtest.o libpng.a test: pngtest pngtest-static @echo "" - @echo " Running pngtest dynamically linked with $(LIBNAME).so:" + @echo " Running pngtest dynamically linked with $(LIBSO):" @echo "" ./pngtest @echo "" @@ -123,63 +139,63 @@ test: pngtest pngtest-static ./pngtest-static install-headers: png.h pngconf.h - -@if [ ! -d $(DI) ]; then mkdir $(DI); fi - -@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi + -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi + -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi cp png.h pngconf.h $(DI)/$(LIBNAME) chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h - -@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h - -@/bin/rm -f $(DI)/libpng - (cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .) + -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h + -@$(RM_F) $(DI)/libpng + (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .) install-static: install-headers libpng.a - -@if [ ! -d $(DL) ]; then mkdir $(DL); fi + -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi cp libpng.a $(DL)/$(LIBNAME).a chmod 644 $(DL)/$(LIBNAME).a - -@/bin/rm -f $(DL)/libpng.a - (cd $(DL); ln -sf $(LIBNAME).a libpng.a) - -install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ - libpng.so.3.$(PNGMIN) - -@if [ ! -d $(DL) ]; then mkdir $(DL); fi - -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so - -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) - -@/bin/rm -f $(DL)/libpng.so - -@/bin/rm -f $(DL)/libpng.so.3 - -@/bin/rm -f $(DL)/libpng.so.3.$(PNGMIN)* - cp $(LIBNAME).so.$(PNGVER) $(DL) - cp libpng.so.3.$(PNGMIN) $(DL) - chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER) - chmod 755 $(DL)/libpng.so.3.$(PNGMIN) + -@$(RM_F) $(DL)/libpng.a + (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a) + +install-shared: install-headers $(LIBSOVER) libpng.pc \ + $(OLDSOVER) + -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi + -@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO) + -@$(RM_F) $(DL)/$(LIBSOMAJ) + -@$(RM_F) $(DL)/$(OLDSO) + -@$(RM_F) $(DL)/$(OLDSOMAJ) + -@$(RM_F) $(DL)/$(OLDSOVER)* + cp $(LIBSOVER) $(DL) + cp $(OLDSOVER) $(DL) + chmod 755 $(DL)/$(LIBSOVER) + chmod 755 $(DL)/$(OLDSOVER) (cd $(DL); \ - ln -sf libpng.so.3.$(PNGMIN) libpng.so.3; \ - ln -sf libpng.so.3 libpng.so; \ - ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \ - ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so) - -@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi - -@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc - -@/bin/rm -f $(DL)/pkgconfig/libpng.pc + $(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \ + $(LN_SF) $(OLDSOMAJ) $(OLDSO); \ + $(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \ + $(LN_SF) $(LIBSOMAJ) $(LIBSO)) + -@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi + -@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc + -@$(RM_F) $(DL)/pkgconfig/libpng.pc cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc - (cd $(DL)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc) + (cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc) install-man: libpng.3 libpngpf.3 png.5 - -@if [ ! -d $(DM) ]; then mkdir $(DM); fi - -@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi - -@/bin/rm -f $(DM)/man3/libpng.3 - -@/bin/rm -f $(DM)/man3/libpngpf.3 + -@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi + -@if [ ! -d $(DM)/man3 ]; then $(MKDIR_P) $(DM)/man3; fi + -@$(RM_F) $(DM)/man3/libpng.3 + -@$(RM_F) $(DM)/man3/libpngpf.3 cp libpng.3 $(DM)/man3 cp libpngpf.3 $(DM)/man3 - -@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi - -@/bin/rm -f $(DM)/man5/png.5 + -@if [ ! -d $(DM)/man5 ]; then $(MKDIR_P) $(DM)/man5; fi + -@$(RM_F) $(DM)/man5/png.5 cp png.5 $(DM)/man5 install-config: libpng-config - -@if [ ! -d $(DB) ]; then mkdir $(DB); fi - -@/bin/rm -f $(DB)/libpng-config - -@/bin/rm -f $(DB)/$(LIBNAME)-config + -@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi + -@$(RM_F) $(DB)/libpng-config + -@$(RM_F) $(DB)/$(LIBNAME)-config cp libpng-config $(DB)/$(LIBNAME)-config chmod 755 $(DB)/$(LIBNAME)-config - (cd $(DB); ln -sf $(LIBNAME)-config libpng-config) + (cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config) install: install-static install-shared install-man install-config @@ -191,22 +207,22 @@ test-dd: echo echo Testing installed dynamic shared library in $(DL). $(CC) -I$(DI) -I$(ZLIBINC) \ - `$(BINPATH)/libpng12-config --cflags` pngtest.c \ - -L$(DL) -L$(ZLIBLIB) -W1, -rpath,$(DL) -Wl,-rpath,$(ZLIBLIB) \ - -o pngtestd `$(BINPATH)/libpng12-config --ldflags` + `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \ + -L$(DL) -L$(ZLIBLIB) -Wl, -rpath,$(DL) -Wl,-rpath,$(ZLIBLIB) \ + -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags` ./pngtestd pngtest.png test-installed: $(CC) -I$(ZLIBINC) \ - `$(BINPATH)/libpng12-config --cflags` pngtest.c \ + `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \ -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \ - -o pngtesti `$(BINPATH)/libpng12-config --ldflags` + -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags` ./pngtesti pngtest.png clean: - /bin/rm -f *.o libpng.a pngtest pngout.png libpng-config \ - $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti \ - libpng.so.3.$(PNGMIN) \ + $(RM_F) *.o libpng.a pngtest pngout.png libpng-config \ + $(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \ + $(OLDSOVER) \ libpng.pc DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO