31aee0d0c0
Fixed point APIs are now supported throughout (no missing APIs). Internal fixed point arithmetic support exists for all internal floating point operations. sCAL validates the floating point strings it is passed. Safe, albeit rudimentary, Watcom support is provided by PNG_API_RULE==2 Two new APIs exist to get the number of passes without turning on the PNG_INTERLACE transform and to get the number of rows in the current pass. A new test program, pngvalid.c, validates the gamma code. Errors in the 16 bit gamma correction (overflows) have been corrected. cHRM chunk testing is done consistently (previously the floating point API bypassed it, because the test really didn't work on FP, now the test is performed on the actual values to be stored in the PNG file so it works in the FP case too.) Most floating point APIs now simply call the fixed point APIs after converting the values to the fixed point form used in the PNG file. The standard headers no longer include zlib.h, which is currently only required for pngstruct.h and can therefore be internal. (Patches by John Bowler)
123 lines
3.8 KiB
Plaintext
123 lines
3.8 KiB
Plaintext
# Makefile for libpng
|
|
# Watcom C/C++ 10.0 and later, 32-bit protected mode, flat memory model
|
|
|
|
# Copyright (C) 2000, Pawel Mrochen, based on makefile.msc which is
|
|
# copyright 1995 Guy Eric Schalnat, Group 42, Inc.
|
|
#
|
|
# This code is released under the libpng license.
|
|
# For conditions of distribution and use, see the disclaimer
|
|
# and license in png.h
|
|
|
|
# To use, do "wmake /f scripts\makefile.watcom"
|
|
|
|
|
|
# ---------------------- Watcom C/C++ 10.0 and later -----------------------
|
|
|
|
# Where the zlib library and include files are located
|
|
ZLIBLIB=..\zlib
|
|
ZLIBINC=..\zlib
|
|
|
|
# Target OS
|
|
OS=DOS
|
|
#OS=NT
|
|
|
|
# Target CPU
|
|
CPU=6 # Pentium Pro
|
|
#CPU=5 # Pentium
|
|
|
|
# Calling convention
|
|
CALLING=r # registers
|
|
#CALLING=s # stack
|
|
|
|
# Uncomment next to put error messages in a file
|
|
#ERRFILE=>>pngerrs
|
|
|
|
# --------------------------------------------------------------------------
|
|
|
|
|
|
CC=wcc386
|
|
CFLAGS=-$(CPU)$(CALLING) -fp$(CPU) -fpi87 -oneatx -mf -bt=$(OS) -i=$(ZLIBINC) -zq
|
|
LD=wcl386
|
|
LDFLAGS=-zq
|
|
|
|
O=.obj
|
|
|
|
OBJS1=png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O)
|
|
OBJS2=pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)
|
|
OBJS3=pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
|
|
|
|
|
|
all: test
|
|
|
|
# see scripts/pnglibconf.mak for more options
|
|
# to support watcom calling conventions it is necessary to set PNG_API_RULE to 2
|
|
# in pnglibconf.h - copy scripts/pnglibconf.h, delete the first line and change
|
|
# the definition of PNG_API_RULE from 0 to 2.
|
|
#
|
|
# If you know how to do this with the Watcom build system please supply a patch
|
|
# for this makefile to the PNG implementation list.
|
|
pnglibconf.h: scripts/pnglibconf.h
|
|
@echo please copy scripts/pnglibconf.h and change PNG_API_RULE to 2
|
|
|
|
png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngtest$(O): png.h pngconf.h pnglibconf.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
|
$(CC) $(CFLAGS) $*.c $(ERRFILE)
|
|
|
|
libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
|
|
wlib -b -c -n -q libpng.lib $(OBJS1)
|
|
wlib -b -c -q libpng.lib $(OBJS2)
|
|
wlib -b -c -q libpng.lib $(OBJS3)
|
|
|
|
pngtest.exe: pngtest.obj libpng.lib
|
|
$(LD) $(LDFLAGS) pngtest.obj libpng.lib $(ZLIBLIB)\zlib.lib
|
|
|
|
test: pngtest.exe .symbolic
|
|
pngtest.exe
|
|
|
|
|
|
# End of makefile for libpng
|