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.
This commit is contained in:
Cosmin Truta
2022-09-18 19:37:40 +03:00
parent 3f991d5092
commit 9b65ad49d3
25 changed files with 280 additions and 2096 deletions

View File

@@ -7,28 +7,11 @@
# For conditions of distribution and use, see the disclaimer
# and license in png.h
PREFIX?= /usr/local
SHLIB_VER?= 16
LIB= png
SHLIB_VER= 16
SHLIB_MAJOR= ${SHLIB_VER}
SHLIB_MINOR= 0
NO_PROFILE= YES
NO_OBJ= YES
# where make install puts libpng.a and png.h
DESTDIR= ${PREFIX}
LIBDIR= /lib
INCS= png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
INCSDIR= /include/libpng
INCDIR= ${INCSDIR} # for 4.x bsd.lib.mk
MAN= libpng.3 libpngpf.3 png.5
MANDIR= /man/man
SYMLINKS= libpng/png.h ${INCSDIR}/../png.h \
libpng/pngconf.h ${INCSDIR}/../pngconf.h \
libpng/pnglibconf.h ${INCSDIR}/../pnglibconf.h
# where make install finds libz.a and zlib.h
ZLIBLIB= /usr/lib
ZLIBINC= /usr/include
@@ -39,6 +22,9 @@ DPADD+= ${LIBM} ${LIBZ}
CPPFLAGS+= -I. -I${ZLIBINC}
CFLAGS+= -Wall -Wextra -Wundef
LDFLAGS+= -L. -L${ZLIBLIB}
CLEANFILES+= pngtest pngtest.o pngout.png
# Pre-built configuration
# See scripts/pnglibconf.mak for more options
@@ -49,18 +35,19 @@ SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \
pngtrans.c pngwio.c pngwrite.c pngwtran.c pngwutil.c
.c.o:
$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
${CC} -c ${CPPFLAGS} ${CFLAGS} -o $@ $<
pngtest: pngtest.o libpng.a
${CC} ${CFLAGS} -L. -static -o pngtest pngtest.o -L${ZLIBLIB} \
-lpng ${LDADD}
pnglibconf.h: ${PNGLIBCONF_H_PREBUILT}
cp ${PNGLIBCONF_H_PREBUILT} $@
CLEANFILES= pngtest pngtest.o pngout.png
pngtest: pngtest.o libpng.a
${CC} ${LDFLAGS} -static -o pngtest pngtest.o -lpng ${LDADD}
test: pngtest
test: pngtest
./pngtest
pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
cp $(PNGLIBCONF_H_PREBUILT) $@
install:
@echo "The $@ target is no longer supported by this makefile."
@false
.include <bsd.lib.mk>