# Makefile for libpng
-# Borland C++ 4.5 (Note: All modules are compiled in C mode)
-# Will work with C++ 4.02 also
-# To build the library, do:
-# "make -fmakefile.bor -DMODEL=m"
+# 16-bit Borland C++ (Note: All modules are compiled in C mode)
+# To build the library, do:
+# "make -fmakefile.bor -DMODEL=c"
# or: "make -fmakefile.bor -DMODEL=l"
#
-# ------------- Borland C++ 4.5 -------------
+# ------------ Borland C++ ------------
### Absolutely necessary for this makefile to work
.AUTODEPEND
-## Useful user options
+## Where zlib.h, zconf.h and zlib_MODEL.lib are
+ZLIB_DIR=..\zlib
-# Usually defined in builtins.mak or the environment
-# Currently unused.
-!ifndef BCROOT
-BCROOT=N:\BC45
-!endif
-# Where zlib.h and zconf.h and zlib.lib are
-ZLIB_PATH=..\zlib
+## Compiler, linker and lib stuff
+CC=bcc
+LD=bcc
+LIB=tlib
!ifndef MODEL
MODEL=l
!endif
+MODEL_ARG=-m$(MODEL)
+
#TARGET_CPU=3
# 2 = 286, 3 = 386, etc.
!ifndef TARGET_CPU
TARGET_CPU=2
!endif
-
-# Use this if you don't want Borland's fancy exception handling.
-NOEHLIB=noeh$(MODEL).lib
+# Use this if you don't want Borland's fancy exception handling
+# (for Borland C++ 4.0 or later)
+#NOEHLIB=noeh$(MODEL).lib
!ifdef DEBUG
CDEBUG=-v
LDEBUG=$(LDEBUG) -N
!endif
-
-## Compiler, linker, and lib stuff
-CC=bcc
-LD=bcc
-LIB=tlib
-
-MODELARG=-m$(MODEL)
-
-# -X- turns on dependency generation in the object file
-# -w sets all warnings on
+# -X- turn on dependency generation in the object file
+# -w set all warnings on
# -O2 optimize for speed
# -Z global optimization
-CFLAGS=-O2 -Z -X- -w -I$(ZLIB_PATH) -$(TARGET_CPU) $(MODELARG) $(CDEBUG)
+CFLAGS=-O2 -Z -X- -w -I$(ZLIB_DIR) -$(TARGET_CPU) $(MODEL_ARG) $(CDEBUG)
# -M generate map file
-LDFLAGS=-M $(LDEBUG)
+LDFLAGS=-M -L$(ZLIB_DIR) $(MODEL_ARG) $(LDEBUG)
-O=obj
-## variables
+## Variables
OBJS = \
- png.$(O) \
- pngerror.$(O) \
- pngmem.$(O) \
- pngpread.$(O) \
- pngset.$(O) \
- pngget.$(O) \
- pngread.$(O) \
- pngrio.$(O) \
- pngrtran.$(O) \
- pngrutil.$(O) \
- pngtrans.$(O) \
- pngwrite.$(O) \
- pngwtran.$(O) \
- pngwio.$(O) \
- pngwutil.$(O)
+ png.obj \
+ pngerror.obj \
+ pngget.obj \
+ pngmem.obj \
+ pngpread.obj \
+ pngread.obj \
+ pngrio.obj \
+ pngrtran.obj \
+ pngrutil.obj \
+ pngset.obj \
+ pngtrans.obj \
+ pngwio.obj \
+ pngwrite.obj \
+ pngwtran.obj \
+ pngwutil.obj
LIBOBJS = \
- +png.$(O) \
- +pngerror.$(O) \
- +pngmem.$(O) \
- +pngpread.$(O) \
- +pngread.$(O) \
- +pngset.$(O) \
- +pngget.$(O) \
- +pngrio.$(O) \
- +pngrtran.$(O) \
- +pngrutil.$(O) \
- +pngtrans.$(O) \
- +pngwrite.$(O) \
- +pngwtran.$(O) \
- +pngwio.$(O)
- +pngwutil.$(O)
+ +png.obj \
+ +pngerror.obj \
+ +pngget.obj \
+ +pngmem.obj \
+ +pngpread.obj \
+ +pngread.obj \
+ +pngrio.obj \
+ +pngrtran.obj \
+ +pngrutil.obj \
+ +pngset.obj \
+ +pngtrans.obj \
+ +pngwio.obj \
+ +pngwrite.obj \
+ +pngwtran.obj \
+ +pngwutil.obj
LIBNAME=libpng$(MODEL).lib
$(CC) $(CFLAGS) -c {$*.c }
.c.exe:
- $(CC) $(CFLAGS) $(LDFLAGS) $*.c
+ $(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
## Major targets
+all: libpng pngtest
+
libpng: $(LIBNAME)
pngtest: pngtest$(MODEL).exe
-test:
+test: pngtest$(MODEL).exe
pngtest$(MODEL)
## Minor Targets
png.obj: png.c
-pngset.obj: pngset.c
+pngerror.obj: pngerror.c
pngget.obj: pngget.c
-pngread.obj: pngread.c
+pngmem.obj: pngmem.c
pngpread.obj: pngpread.c
+pngread.obj: pngread.c
+pngrio.obj: pngrio.c
pngrtran.obj: pngrtran.c
pngrutil.obj: pngrutil.c
-pngerror.obj: pngerror.c
-pngmem.obj: pngmem.c
-pngrio.obj: pngrio.c
-pngwio.obj: pngwio.c
+pngset.obj: pngset.c
pngtrans.obj: pngtrans.c
+pngwio.obj: pngwio.c
pngwrite.obj: pngwrite.c
pngwtran.obj: pngwtran.c
pngwutil.obj: pngwutil.c
$(LIBNAME): $(OBJS)
-del $(LIBNAME)
- $(LIB) $(LIBNAME) @&&|
+ $(LIB) $(LIBNAME) @&&|
$(LIBOBJS), libpng$(MODEL)
|
$(CC) $(CFLAGS) -opngtest$(MODEL) -c pngtest.c
pngtest$(MODEL).exe: pngtest$(MODEL).obj
- $(CC) $(MODELARG) $(LDFLAGS) -L$(ZLIB_PATH) pngtest$(MODEL).obj $(LIBNAME) zlib$(MODEL).lib $(NOEHLIB)
+ $(LD) $(LDFLAGS) pngtest$(MODEL).obj $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
# Clean up anything else you want
clean:
-del *.obj
+ -del *.exe
-del *.lib
-del *.lst
+ -del *.map
# End of makefile for libpng
# makefile for libpng on DEC Alpha Unix
+# Copyright (C) 2000-2002 Glenn Randers-Pehrson
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
# For conditions of distribution and use, see copyright notice in png.h
+# where make install puts libpng.a and png.h
+prefix=/usr/local
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+MANPATH=$(prefix)/man
+BINPATH=$(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)
+
# Where the zlib library and include files are located
#ZLIBLIB=/usr/local/lib
#ZLIBINC=/usr/local/include
ZLIBLIB=../zlib
ZLIBINC=../zlib
+PNGMAJ = 0
+PNGMIN = 1.2.4
+PNGVER = $(PNGMAJ).$(PNGMIN)
+LIBNAME = libpng12
+
CC=cc
CFLAGS=-std -w1 -I$(ZLIBINC) -O # -g -DPNG_DEBUG=1
LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
#RANLIB=echo
RANLIB=ranlib
-# where make install puts libpng.a and png.h
-prefix=/usr/local
-
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
pngwtran.o pngmem.o pngerror.o pngpread.o
-all: libpng.a pngtest
+all: $(LIBNAME).so libpng.a pngtest libpng.pc libpng-config
libpng.a: $(OBJS)
ar rc $@ $(OBJS)
$(RANLIB) $@
+libpng.pc:
+ cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+
+libpng-config:
+ ( cat scripts/libpng-config-head.in; \
+ echo prefix=\"$(prefix)\"; \
+ echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
+ echo cflags=\"-std\"; \
+ echo ldflags=\"-L$(LIBPATH)\"; \
+ echo libs=\"-lpng12 -lz -lm\"; \
+ cat scripts/libpng-config-body.in ) > libpng-config
+ chmod +x libpng-config
+
+$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
+ ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
+
+$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
+ ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+
+$(LIBNAME).so.$(PNGVER): $(OBJS)
+ $(CC) -shared -o $@ $(OBJS) -L$(ZLIBLIB)
+ -soname $(LIBNAME).so.$(PNGMAJ) -lz -lm
+
pngtest: pngtest.o libpng.a
$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
test: pngtest
./pngtest
-install: libpng.a
- -@mkdir $(prefix)/include
- -@mkdir $(prefix)/lib
- cp png.h $(prefix)/include
- cp pngconf.h $(prefix)/include
- chmod 644 $(prefix)/include/png.h
- chmod 644 $(prefix)/include/pngconf.h
- cp libpng.a $(prefix)/lib
- chmod 644 $(prefix)/lib/libpng.a
+install-headers: png.h pngconf.h
+ -@if [ ! -d $(DI) ]; then mkdir $(DI); fi
+ -@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(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)/* .)
+
+install-static: install-headers libpng.a
+ -@if [ ! -d $(DL) ]; then mkdir $(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
+ -@if [ ! -d $(DL) ]; then mkdir $(DL); fi
+ -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
+ -@/bin/rm -f $(DL)/libpng.so
+ -@/bin/rm -f $(DL)/libpng.so.3
+ -@/bin/rm -f $(DL)/libpng.so.3.*
+ cp $(LIBNAME).so.$(PNGVER) $(DL)
+ chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
+ (cd $(DL); \
+ ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
+ ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3; \
+ ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.3.$(PNGMIN); \
+ 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
+ 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 $(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
+ 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
+ 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
+ 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.
+
+test-installed:
+ echo
+ echo Testing installed dynamic shared library.
+ $(CC) -std -w1 -I$(ZLIBINC) \
+ `$(BINPATH)/libpng12-config --cppflags --cflags` pngtest.c \
+ -L$(ZLIBLIB) -R$(ZLIBLIB) \
+ -o pngtesti `$(BINPATH)/libpng12-config --ldflags --libs`
+ ./pngtesti pngtest.png
clean:
- rm -f *.o libpng.a pngtest pngout.png
+ /bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
+ libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)*
# DO NOT DELETE THIS LINE -- make depend depends on it.
# DJGPP (DOS gcc) makefile for libpng
+# Copyright (C) 2002 Glenn Randers-Pehrson
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
# For conditions of distribution and use, see copyright notice in png.h
+# where make install will put libpng.a and png.h
+#prefix=/usr/local
+prefix=.
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+
CC=gcc
CFLAGS=-I../zlib -O
LDFLAGS=-L. -L../zlib/ -lpng -lz -lm
RANLIB=ranlib
-# where make install puts libpng.a and png.h
-#prefix=/usr/local
-prefix=.
-
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o pngwtran.o \
pngmem.o pngerror.o pngpread.o
# makefile for libpng
+# Copyright (C) 2002 Glenn Randers-Pehrson
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
# For conditions of distribution and use, see copyright notice in png.h
+# This makefile requires the file ansi2knr.c, which you can get
+# from the Ghostscript ftp site at ftp://ftp.cs.wisc.edu/ghost/
+# If you have libjpeg, you probably already have ansi2knr.c in the jpeg
+# source distribution.
+
+# where make install puts libpng.a and png.h
+prefix=/usr/local
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+
+# 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=
+
CC=cc
CFLAGS=-I../zlib -O
LDFLAGS=-L. -L../zlib/ -lpng -lz -lm
RANLIB=ranlib
#RANLIB=echo
-# where make install puts libpng.a and png.h
-prefix=/usr/local
-
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
pngwtran.o pngmem.o pngerror.o pngpread.o
./pngtest
install: libpng.a
- -@mkdir $(prefix)/include
- -@mkdir $(prefix)/lib
- cp png.h $(prefix)/include
- cp pngconf.h $(prefix)/include
- chmod 644 $(prefix)/include/png.h
- chmod 644 $(prefix)/include/pngconf.h
- cp libpng.a $(prefix)/lib
- chmod 644 $(prefix)/lib/libpng.a
+ -@mkdir $(DESTDIR)$(INCPATH)
+ -@mkdir $(DESTDIR)$(INCPATH)/libpng
+ -@mkdir $(DESTDIR)$(LIBPATH)
+ -@rm -f $(DESTDIR)$(INCPATH)/png.h
+ -@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
+ cp png.h $(DESTDIR)$(INCPATH)/libpng
+ cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
+ (cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
+ cp libpng.a $(DESTDIR)$(LIBPATH)
+ chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
clean:
rm -f *.o libpng.a pngtest pngout.png ansi2knr
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
# DO NOT DELETE THIS LINE -- make depend depends on it.
png.o: png.h pngconf.h
# For conditions of distribution and use, see copyright notice in png.h
# Assumes that zlib.lib, zconf.h, and zlib.h have been copied to ..\zlib
-# ------------- Microsoft C 5.1 and later -------------
-MODEL=-AL
-CFLAGS=-Oait -Gs -nologo -W3 $(MODEL) -I..\zlib
+# -------- Microsoft C 5.1 and later, does not use assembler code --------
+MODEL=L
+CFLAGS=-Oait -Gs -nologo -W3 -A$(MODEL) -I..\zlib
#-Ox generates bad code with MSC 5.1
CC=cl
LD=link
-LDFLAGS=/e/st:0x1500/noe
+LDFLAGS=/e/st:0x1500/noe
O=.obj
#uncomment next to put error messages in a file
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngset$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngget$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngread$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngpread$(O): png.h pngconf.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngrtran$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngrutil$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngerror$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngmem$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngrio$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngwio$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngtest$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngtrans$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngwrite$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngwtran$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
pngwutil$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
+ $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
- del libpng.lib
+ del libpng.lib
lib libpng $(OBJS1);
lib libpng $(OBJS2);
lib libpng $(OBJS3);
-pngtest.exe: pngtest.obj libpng.lib
+pngtest.exe: pngtest.obj libpng.lib
$(LD) $(LDFLAGS) pngtest.obj,,,libpng.lib ..\zlib\zlib.lib ;
test: pngtest.exe
ZLIBINC=../zlib
WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
- -Wmissing-declarations -Wtraditional -Wcast-align \
- -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
+ -Wmissing-declarations -Wtraditional -Wcast-align \
+ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
CFLAGS=-I$(ZLIBINC) -Wall -O6 -funroll-loops -malign-loops=2 \
- -malign-functions=2 #$(WARNMORE) -g -DPNG_DEBUG=5
+ -malign-functions=2 #$(WARNMORE) -g -DPNG_DEBUG=5
LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lzdll -Zcrtdll
AR=emxomfar
SHAREDLIBIMP=pngdll.lib
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
- pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
- pngwtran.o pngmem.o pngerror.o pngpread.o
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o
.SUFFIXES: .c .o
# makefile for libpng
+# Copyright (C) 2002 Glenn Randers-Pehrson
# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
# For conditions of distribution and use, see copyright notice in png.h
+# where make install puts libpng.a and png.h
+prefix=/usr/local
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+
+# 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=
+
# Where the zlib library and include files are located
#ZLIBLIB=/usr/local/lib
#ZLIBINC=/usr/local/include
ZLIBINC=../zlib
CC=cc
-CFLAGS=-I$(ZLIBINC) -O # -g -DPNG_DEBUG=1
+CFLAGS=-I$(ZLIBINC) -O # -g -DPNG_DEBUG=5
LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
#RANLIB=echo
RANLIB=ranlib
-# where make install puts libpng.a and png.h
-prefix=/usr/local
-
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
pngwtran.o pngmem.o pngerror.o pngpread.o
./pngtest
install: libpng.a
- -@mkdir $(prefix)/include
- -@mkdir $(prefix)/lib
- cp png.h $(prefix)/include
- cp pngconf.h $(prefix)/include
- chmod 644 $(prefix)/include/png.h
- chmod 644 $(prefix)/include/pngconf.h
- cp libpng.a $(prefix)/lib
- chmod 644 $(prefix)/lib/libpng.a
+ -@mkdir $(DESTDIR)$(INCPATH)
+ -@mkdir $(DESTDIR)$(INCPATH)/libpng
+ -@mkdir $(DESTDIR)$(LIBPATH)
+ -@rm -f $(DESTDIR)$(INCPATH)/png.h
+ -@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
+ cp png.h $(DESTDIR)$(INCPATH)/libpng
+ cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
+ chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
+ (cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
+ cp libpng.a $(DESTDIR)$(LIBPATH)
+ chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
clean:
rm -f *.o libpng.a pngtest pngout.png
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
# DO NOT DELETE THIS LINE -- make depend depends on it.
png.o: png.h pngconf.h
# Makefile for libpng
-# TurboC++ 3.0 (Note: All modules are compiled in C mode)
+# TurboC/C++ (Note: All modules are compiled in C mode)
# To use, do "make -fmakefile.tc3"
-# ------------- Turbo C++ 3.0 -------------
-MODEL=-ml
-CFLAGS=-O2 -Z $(MODEL) -I..\zlib
+# ----- Turbo C 3.00 (can be modified to work with earlier versions) -----
+
+MODEL=l
+CFLAGS=-O2 -Z -m$(MODEL) -I..\zlib
+#CFLAGS=-D_NO_PROTO -O2 -Z -m$(MODEL) -I..\zlib # Turbo C older than 3.00
CC=tcc
LD=tcc
LIB=tlib
-LDFLAGS=$(MODEL) -L..\zlib
+LDFLAGS=-m$(MODEL) -L..\zlib
O=.obj
E=.exe
OBJSL2 = +pngwutil$(O) +pngmem$(O) +pngpread$(O) +pngread$(O) +pngerror$(O)
OBJSL3 = +pngwrite$(O) +pngrtran$(O) +pngwtran$(O) +pngrio$(O) +pngwio$(O)
-all: libpng.lib pngtest.exe
+all: libpng$(MODEL).lib pngtest$(E)
+
+pngtest: pngtest$(E)
+
+test: pngtest$(E)
+ pngtest$(E)
png$(O): png.h pngconf.h
$(CC) -c $(CFLAGS) $*.c
$(CC) -c $(CFLAGS) $*.c
pngerror$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c
+ $(CC) -c $(CFLAGS) $*.c
pngmem$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c
+ $(CC) -c $(CFLAGS) $*.c
pngrio$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c
+ $(CC) -c $(CFLAGS) $*.c
pngwio$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c
+ $(CC) -c $(CFLAGS) $*.c
pngtest$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c
+ $(CC) -c $(CFLAGS) $*.c
pngtrans$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c
+ $(CC) -c $(CFLAGS) $*.c
pngwrite$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c
+ $(CC) -c $(CFLAGS) $*.c
pngwtran$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c
+ $(CC) -c $(CFLAGS) $*.c
pngwutil$(O): png.h pngconf.h
- $(CC) -c $(CFLAGS) $*.c
+ $(CC) -c $(CFLAGS) $*.c
-libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
- $(LIB) libpng +$(OBJSL1)
- $(LIB) libpng +$(OBJSL2)
- $(LIB) libpng +$(OBJSL3)
+libpng$(MODEL).lib: $(OBJS1) $(OBJS2) $(OBJS3)
+ $(LIB) libpng$(MODEL) +$(OBJSL1)
+ $(LIB) libpng$(MODEL) +$(OBJSL2)
+ $(LIB) libpng$(MODEL) +$(OBJSL3)
-pngtest$(E): pngtest$(O) libpng.lib
- $(CC) $(LDFLAGS) pngtest.obj libpng.lib zlib.lib
+pngtest$(E): pngtest$(O) libpng$(MODEL).lib
+ $(LD) $(LDFLAGS) pngtest.obj libpng$(MODEL).lib zlib_$(MODEL).lib
# End of makefile for libpng
$! make libpng under VMS
$!
$!
+$! Check for MMK/MMS
+$!
+$! This procedure accepts one parameter (contrib), which causes it to build
+$! the programs from the contrib directory instead of libpng.
+$!
+$ p1 = f$edit(p1,"UPCASE")
+$ if p1 .eqs. "CONTRIB"
+$ then
+$ set def [.contrib.gregbook]
+$ @makevms
+$ set def [-.pngminus]
+$ @makevms
+$ set def [--]
+$ exit
+$ endif
+$ Make = ""
+$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
+$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
+$!
$! Look for the compiler used
$!
$ zlibsrc = "[-.zlib]"
$ endif
$ endif
$!
-$! Build the thing plain or with mms
+$! Build the thing plain or with mms/mmk
$!
$ write sys$output "Compiling Libpng sources ..."
-$ if f$search("SYS$SYSTEM:MMS.EXE").eqs.""
+$ if make.eqs.""
$ then
$ dele pngtest.obj;*
$ CALL MAKE png.OBJ "cc ''CCOPT' png" -
- png.c png.h pngconf.h
+ png.c png.h pngconf.h
$ CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
pngpread.c png.h pngconf.h
$ CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" -
- pngset.c png.h pngconf.h
+ pngset.c png.h pngconf.h
$ CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" -
- pngget.c png.h pngconf.h
+ pngget.c png.h pngconf.h
$ CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
- pngread.c png.h pngconf.h
+ pngread.c png.h pngconf.h
$ CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
pngpread.c png.h pngconf.h
$ CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
- pngrtran.c png.h pngconf.h
+ pngrtran.c png.h pngconf.h
$ CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
- pngrutil.c png.h pngconf.h
+ pngrutil.c png.h pngconf.h
$ CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
- pngerror.c png.h pngconf.h
+ pngerror.c png.h pngconf.h
$ CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
- pngmem.c png.h pngconf.h
+ pngmem.c png.h pngconf.h
$ CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" -
- pngrio.c png.h pngconf.h
+ pngrio.c png.h pngconf.h
$ CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" -
- pngwio.c png.h pngconf.h
+ pngwio.c png.h pngconf.h
$ CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
- pngtrans.c png.h pngconf.h
+ pngtrans.c png.h pngconf.h
$ CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
- pngwrite.c png.h pngconf.h
+ pngwrite.c png.h pngconf.h
$ CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
- pngwtran.c png.h pngconf.h
+ pngwtran.c png.h pngconf.h
$ CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
- pngwutil.c png.h pngconf.h
+ pngwutil.c png.h pngconf.h
$ write sys$output "Building Libpng ..."
$ CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ
$ write sys$output "Building pngtest..."
$ CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
- pngtest.c png.h pngconf.h
-$ call make pngtest.exe -
- "LINK pngtest,libpng.olb/lib,''zlibsrc'libgz.olb/lib" -
- pngtest.obj libpng.olb
+ pngtest.c png.h pngconf.h
+$ call make pngtest.exe -
+ "LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" -
+ pngtest.obj libpng.olb
$ write sys$output "Testing Libpng..."
$ run pngtest
$ else
-$ mms/macro=('comp',zlibsrc='zlibsrc')
+$ if f$search("DESCRIP.MMS") .eqs. "" then copy/nolog [.SCRIPTS]DESCRIP.MMS []
+$ 'make'/macro=('comp',zlibsrc='zlibsrc')
$ endif
$ write sys$output "Libpng build completed"
$ exit
$Exit:
$ If V Then Set Verify
$ENDSUBROUTINE
-
;----------------------------------------
-; PNGLIB module definition file for OS/2
+; PNG.LIB module definition file for OS/2
;----------------------------------------
+; Version 1.2.4
+
LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2"
CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD MOVEABLE MULTIPLE
EXPORTS
- png_set_sig_bytes
- png_sig_cmp
+
+
+ png_build_grayscale_palette
png_check_sig
- png_create_read_struct
- png_create_write_struct
- png_write_chunk
- png_write_chunk_start
- png_write_chunk_data
- png_write_chunk_end
- png_create_info_struct
- png_info_init
- png_write_info
- png_read_info
- png_convert_to_rfc1123
+ png_chunk_error
+ png_chunk_warning
png_convert_from_struct_tm
png_convert_from_time_t
- png_set_expand
- png_set_bgr
- png_set_gray_to_rgb
-; png_set_rgb_to_gray
- png_build_grayscale_palette
- png_set_strip_alpha
- png_set_swap_alpha
- png_set_invert_alpha
- png_set_filler
- png_set_swap
- png_set_packing
- png_set_packswap
- png_set_shift
- png_set_interlace_handling
- png_set_invert_mono
- png_set_background
- png_set_strip_16
- png_set_dither
- png_set_gamma
- png_set_flush
- png_write_flush
- png_start_read_image
- png_read_update_info
- png_read_rows
- png_read_row
- png_read_image
- png_write_row
- png_write_rows
- png_write_image
- png_write_end
- png_read_end
+ png_create_info_struct
+ png_create_read_struct
+ png_create_write_struct
+ png_data_freer
png_destroy_info_struct
png_destroy_read_struct
- png_read_destroy
png_destroy_write_struct
-; png_write_destroy_info
- png_write_destroy
- png_set_crc_action
- png_set_filter
- png_set_filter_heuristics
- png_set_compression_level
- png_set_compression_mem_level
- png_set_compression_strategy
- png_set_compression_window_bits
- png_set_compression_method
- png_init_io
- png_set_error_fn
- png_get_error_ptr
- png_set_write_fn
- png_set_read_fn
- png_set_write_status_fn
- png_set_read_status_fn
- png_get_io_ptr
- png_set_progressive_read_fn
- png_set_read_status_fn
- png_set_read_user_transform_fn
- png_set_write_status_fn
- png_set_write_user_transform_fn
- png_get_progressive_ptr
- png_process_data
- png_progressive_combine_row
- png_malloc
- png_free
- png_memcpy_check
- png_memset_check
-; png_debug_malloc
-; png_debug_free
-; png_far_to_near
png_error
- png_chunk_error
- png_warning
- png_chunk_warning
- png_get_valid
- png_get_rowbytes
- png_get_channels
- png_get_image_width
- png_get_image_height
+ png_free
+ png_free_data
+ png_get_IHDR
+ png_get_PLTE
+ png_get_bKGD
png_get_bit_depth
+ png_get_cHRM
+ png_get_cHRM_fixed
+ png_get_channels
png_get_color_type
+ png_get_compression_buffer_size
+ png_get_compression_type
+ png_get_copyright
+ png_get_error_ptr
png_get_filter_type
+ png_get_gAMA
+ png_get_gAMA_fixed
+ png_get_hIST
+ png_get_header_ver
+ png_get_header_version
+ png_get_iCCP
+ png_get_image_height
+ png_get_image_width
png_get_interlace_type
- png_get_compression_type
- png_get_pixels_per_meter
+ png_get_io_ptr
+ png_get_libpng_ver
+ png_get_oFFs
+ png_get_pCAL
+ png_get_pHYs
png_get_pixel_aspect_ratio
- png_get_x_offset_pixels
- png_get_y_offset_pixels
+ png_get_pixels_per_meter
+ png_get_progressive_ptr
+ png_get_rgb_to_gray_status
+ png_get_rowbytes
+ png_get_rows
+ png_get_sBIT
+ png_get_sCAL
+ png_get_sPLT
+ png_get_sRGB
+ png_get_signature
+ png_get_tIME
+ png_get_tRNS
+ png_get_text
+ png_get_unknown_chunks
+ png_get_user_chunk_ptr
+ png_get_user_transform_ptr
+ png_get_valid
png_get_x_offset_microns
+ png_get_x_offset_pixels
+ png_get_x_pixels_per_meter
png_get_y_offset_microns
- png_get_signature
- png_get_bKGD
+ png_get_y_offset_pixels
+ png_get_y_pixels_per_meter
+ png_malloc
+ png_memcpy_check
+ png_memset_check
+ png_permit_empty_plte
+ png_process_data
+ png_progressive_combine_row
+ png_read_end
+ png_read_image
+ png_read_info
+ png_read_init ; deprecated
+ png_read_png
+ png_read_row
+ png_read_rows
+ png_read_update_info
+ png_reset_zstream
+ png_set_IHDR
+ png_set_PLTE
png_set_bKGD
- png_get_cHRM
+ png_set_background
+ png_set_bgr
png_set_cHRM
- png_get_gAMA
+ png_set_cHRM_fixed
+ png_set_compression_buffer_size
+ png_set_compression_level
+ png_set_compression_mem_level
+ png_set_compression_method
+ png_set_compression_strategy
+ png_set_compression_window_bits
+ png_set_crc_action
+ png_set_dither
+ png_set_error_fn
+ png_set_expand
+ png_set_filler
+ png_set_filter
+ png_set_filter_heuristics
+ png_set_flush
png_set_gAMA
- png_get_hIST
+ png_set_gAMA_fixed
+ png_set_gamma
+ png_set_gray_1_2_4_to_8
+ png_set_gray_to_rgb
png_set_hIST
- png_get_IHDR
- png_set_IHDR
- png_get_oFFs
+ png_set_iCCP
+ png_set_interlace_handling
+ png_set_invert_alpha
+ png_set_invert_mono
+ png_set_keep_unknown_chunks
png_set_oFFs
- png_get_pCAL
png_set_pCAL
- png_get_pHYs
png_set_pHYs
- png_get_PLTE
- png_set_PLTE
- png_get_sBIT
+ png_set_packing
+ png_set_packswap
+ png_set_palette_to_rgb
+ png_set_progressive_read_fn
+ png_set_read_fn
+ png_set_read_status_fn
+ png_set_read_user_chunk_fn
+ png_set_read_user_transform_fn
+ png_set_rgb_to_gray
+ png_set_rgb_to_gray_fixed
+ png_set_rows
png_set_sBIT
- png_get_sRGB
+ png_set_sCAL
+ png_set_sPLT
png_set_sRGB
png_set_sRGB_gAMA_and_cHRM
- png_get_text
- png_set_text
- png_get_tIME
+ png_set_shift
+ png_set_sig_bytes
+ png_set_strip_16
+ png_set_strip_alpha
+ png_set_swap
+ png_set_swap_alpha
png_set_tIME
- png_get_tRNS
png_set_tRNS
+ png_set_tRNS_to_alpha
+ png_set_text
+ png_set_unknown_chunk_location
+ png_set_unknown_chunks
+ png_set_user_transform_info
+ png_set_write_fn
+ png_set_write_status_fn
+ png_set_write_user_transform_fn
+ png_sig_cmp
+ png_start_read_image
+ png_warning
+ png_write_chunk
+ png_write_chunk_data
+ png_write_chunk_end
+ png_write_chunk_start
+ png_write_end
+ png_write_flush
+ png_write_image
+ png_write_info
+ png_write_info_before_PLTE
+ png_write_init ; deprecated
+ png_write_png
+ png_write_row
+ png_write_rows
+ png_read_init_2
+ png_write_init_2
+ png_access_version_number
+ png_init_io
+ png_convert_to_rfc1123
+ png_set_invalid
+
+; Added at version 1.2.0:
+ png_mmx_support
+ png_permit_empty_plte
+ png_permit_mng_features
+ png_get_mmx_flagmask
+ png_get_asm_flagmask
+ png_get_asm_flags
+ png_get_mmx_bitdepth_threshold
+ png_get_mmx_rowbytes_threshold
+ png_set_asm_flags
+ png_init_mmx_flags
+
+; Added at version 1.2.2:
+ png_handle_as_unknown
+
+; Added at version 1.2.2 and deleted from 1.2.3:
+; png_zalloc
+; png_zfree
- png_create_struct
- png_destroy_struct
- png_info_destroy
- png_zalloc
- png_zfree
- png_reset_crc
- png_write_data
- png_read_data
- png_crc_read
- png_crc_finish
- png_crc_error
- png_calculate_crc
- png_flush
- png_save_uint_32
- png_save_int_32
- png_save_uint_16
- png_write_sig
- png_write_IHDR
- png_write_PLTE
- png_write_IDAT
- png_write_IEND
- png_write_gAMA
- png_write_sBIT
- png_write_cHRM
- png_write_sRGB
- png_write_tRNS
- png_write_bKGD
- png_write_hIST
- png_check_keyword
- png_write_tEXt
- png_write_zTXt
- png_write_oFFs
- png_write_pCAL
- png_write_pHYs
- png_write_tIME
- png_write_finish_row
- png_write_start_row
- png_build_gamma_table
- png_combine_row
- png_do_read_interlace
- png_do_write_interlace
- png_read_filter_row
- png_write_find_filter
- png_write_filtered_row
- png_read_finish_row
- png_read_start_row
- png_read_transform_info
- png_do_read_filler
- png_do_read_swap_alpha
- png_do_write_swap_alpha
- png_do_read_invert_alpha
- png_do_write_invert_alpha
- png_do_strip_filler
- png_do_swap
- png_do_packswap
-; png_do_rgb_to_gray
- png_do_gray_to_rgb
- png_do_unpack
- png_do_unshift
- png_do_invert
- png_do_chop
- png_do_dither
-; png_correct_palette
- png_do_bgr
- png_do_pack
- png_do_shift
- png_do_background
- png_do_gamma
- png_do_expand_palette
- png_do_expand
- png_handle_IHDR
- png_handle_PLTE
- png_handle_IEND
- png_handle_gAMA
- png_handle_sBIT
- png_handle_cHRM
- png_handle_sRGB
- png_handle_tRNS
- png_handle_bKGD
- png_handle_hIST
- png_handle_oFFs
- png_handle_pCAL
- png_handle_pHYs
- png_handle_tIME
- png_handle_tEXt
- png_handle_zTXt
- png_handle_unknown
- png_check_chunk_name
- png_do_read_transformations
- png_do_write_transformations
- png_init_read_transformations
- png_push_read_chunk
- png_push_read_sig
-; png_push_check_crc
- png_push_crc_skip
- png_push_crc_finish
- png_push_fill_buffer
- png_push_save_buffer
- png_push_restore_buffer
- png_push_read_IDAT
- png_process_IDAT_data
- png_push_process_row
- png_push_handle_unknown
- png_push_have_info
- png_push_have_end
- png_push_have_row
-; png_push_read_end
- png_process_some_data
- png_read_push_finish_row
- png_push_handle_tEXt
- png_push_read_tEXt
- png_push_handle_zTXt
- png_push_read_zTXt
+; Added at version 1.2.4
+ png_malloc_warn
+; These are not present when libpng is compiled with PNG_NO_GLOBAL_ARRAYS
png_libpng_ver
png_pass_start
png_pass_inc
; png_pass_width
; png_pass_height
+; These are not present when libpng is compiled with PNG_NO_GLOBAL_ARRAYS
png_IHDR
png_IDAT
png_IEND
png_cHRM
png_gAMA
png_hIST
+ png_iCCP
+ png_iTXt
png_oFFs
png_pCAL
png_pHYs
png_sBIT
+ png_sCAL
+ png_sPLT
png_sRGB
png_tEXt
png_tIME
# Amiga powerUP (TM) Makefile
# makefile for libpng and SAS C V6.58/7.00 PPC compiler
# Copyright (C) 1998 by Andreas R. Kleinert
+# For conditions of distribution and use, see copyright notice in png.h
CC = scppc
CFLAGS = NOSTKCHK NOSINT OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL IDIR /zlib \