diff options
author | Cosmin Truta <ctruta@gmail.com> | 2022-09-18 19:37:40 +0300 |
---|---|---|
committer | Cosmin Truta <ctruta@gmail.com> | 2022-09-18 19:37:40 +0300 |
commit | 9b65ad49d3269afc7e0eefe1f75c19aed7d28212 (patch) | |
tree | 0a9d7dd63bcf424b803b77e328dcba53d8a31e8e /scripts/makefile.hpgcc | |
parent | 3f991d509206248ac04ad801e1e756b803f5c56c (diff) | |
download | libpng-9b65ad49d3269afc7e0eefe1f75c19aed7d28212.tar.gz |
scripts: Remove the support for "install" targets from all makefiles
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.
Diffstat (limited to 'scripts/makefile.hpgcc')
-rw-r--r-- | scripts/makefile.hpgcc | 138 |
1 files changed, 15 insertions, 123 deletions
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index 84bdb54b5..3686bd0ae 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -10,14 +10,12 @@ # and license in png.h # Library name: -LIBNAME = libpng16 -PNGMAJ = 16 +LIBNAME=libpng16 +PNGMAJ=16 # Shared library names: LIBSO=$(LIBNAME).sl LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ) -LIBSOREL=$(LIBSOMAJ).$(RELEASE) -OLDSO=libpng.sl # Utilities: CC=gcc @@ -29,11 +27,6 @@ LN_SF=ln -sf CP=cp RM_F=/bin/rm -f -# where "make install" puts libpng.a, $(OLDSO)*, png.h, pngconf.h -# and pnglibconf.h -prefix=/usr/local -exec_prefix=$(prefix) - # Where the zlib library and include files are located ZLIBLIB=/opt/zlib/lib ZLIBINC=/opt/zlib/include @@ -54,26 +47,6 @@ CFLAGS=-O3 -funroll-loops -Wall -Wextra -Wundef # $(WARNMORE) -g #LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng16 -lz -lm # -g LDFLAGS=-L. -L$(ZLIBLIB) -lpng16 -lz -lm # -g -INCPATH=$(prefix)/include -LIBPATH=$(exec_prefix)/lib -MANPATH=$(prefix)/man -BINPATH=$(exec_prefix)/bin - -# override DESTDIR= on the make install command line to easily support -# installing into a temporary location. Example: -# -# make install DESTDIR=/tmp/build/libpng -# -# If you're going to install into a temporary location -# via DESTDIR, $(DESTDIR)$(prefix) must already exist before -# you execute make install. -DESTDIR= - -DB=$(DESTDIR)$(BINPATH) -DI=$(DESTDIR)$(INCPATH) -DL=$(DESTDIR)$(LIBPATH) -DM=$(DESTDIR)$(MANPATH) - 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 @@ -88,27 +61,12 @@ OBJSDLL = $(OBJS:.o=.pic.o) .c.pic.o: $(CC) -c $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ $*.c -all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config +all: libpng.a $(LIBSO) pngtest libpng.a: $(OBJS) $(AR_RC) $@ $(OBJS) $(RANLIB) $@ -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!-lpng16!-lpng16\ -lz\ -lm! > libpng.pc - -libpng-config: - ( cat scripts/libpng-config-head.in; \ - echo prefix=\"$(prefix)\"; \ - echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \ - echo libs=\"-lpng16 -lz -lm\"; \ - cat scripts/libpng-config-body.in ) > libpng-config - chmod +x libpng-config - $(LIBSO): $(LIBSOMAJ) $(LN_SF) $(LIBSOMAJ) $(LIBSO) @@ -122,87 +80,21 @@ pngtest: pngtest.o $(LIBSO) test: pngtest ./pngtest +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-headers: png.h pngconf.h pnglibconf.h - -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi - -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi - cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME) - chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h $(DI)/$(LIBNAME)/pnglibconf.h - -@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pnglibconf.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_P) $(DL); fi - cp libpng.a $(DL)/$(LIBNAME).a - chmod 644 $(DL)/$(LIBNAME).a - -@$(RM_F) $(DL)/libpng.a - (cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a) - -install-shared: install-headers $(LIBSOMAJ) libpng.pc - -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi - -@$(RM_F) $(DL)/$(LIBSO) - -@$(RM_F) $(DL)/$(LIBSOREL) - -@$(RM_F) $(DL)/$(OLDSO) - cp $(LIBSOMAJ) $(DL)/$(LIBSOREL) - chmod 755 $(DL)/$(LIBSOREL) - (cd $(DL); \ - $(LN_SF) $(LIBSOREL) $(LIBSO); \ - $(LN_SF) $(LIBSO) $(OLDSO)) - -@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) - -install-man: libpng.3 libpngpf.3 png.5 - -@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_P) $(DM)/man5; fi - -@$(RM_F) $(DM)/man5/png.5 - cp png.5 $(DM)/man5 - -install-config: libpng-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) - -install: install-static install-shared install-man install-config - -# If you installed in $(DESTDIR), test-installed won't work until you -# move the library to its final location. Use test-dd to test it -# before then. - -test-dd: - echo - echo Testing installed dynamic shared library in $(DL). - $(CC) -I$(DI) $(CPPFLAGS) \ - `$(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: - echo - echo Testing installed dynamic shared library. - $(CC) $(CPPFLAGS) \ - `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \ - -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \ - -o pngtesti `$(BINPATH)/$(LIBNAME)-config --ldflags` - ./pngtesti pngtest.png +install-shared: + @echo "The $@ target is no longer supported by this makefile." + @false clean: - $(RM_F) *.o libpng.a pngtest pngtesti pngout.png \ - libpng-config $(LIBSO) $(LIBSOMAJ)* \ - libpng.pc pnglibconf.h + $(RM_F) *.o libpng.a pngtest pngout.png + $(RM_F) $(LIBSO) $(LIBSOMAJ)* pnglibconf.h # DO NOT DELETE THIS LINE -- make depend depends on it. |