# makefile for libpng on OS/2 with gcc
# For conditions of distribution and use, see copyright notice in png.h

# Related files: pngos2.def

CC=gcc -Zmt -s

# Where the zlib library and include files are located
#ZLIBLIB=../zlib
#ZLIBINC=../zlib

PNGLIB_AOUT=png.a
PNGLIB_OMF=png.lib
SHAREDLIB=png_125.dll
IMPLIB_AOUT=png_import.a
IMPLIB_OMF=png_import.lib

WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
	-Wmissing-declarations -Wtraditional -Wcast-align \
	-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
CFLAGS=	-Wall -O3 -fomit-frame-pointer -mprobe
#CFLAGS=	-Wall -O2 -funroll-loops -malign-loops=2 -malign-functions=2 \
#	-fomit-frame-pointer #$(WARNMORE) -g -DPNG_DEBUG=5
LDFLAGS=-L. -lgcc -lpng_import -lz -Zcrtdll
DLLFLAGS=-L. -lgcc -lz -Zomf -Zcrtdll -Zdll

AR=ar
OMFLIB=emxomf
IMPLIB=emximp

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

.SUFFIXES:      .c .o

.c.o:
	$(CC) -c $(CFLAGS) $<

all: $(PNGLIB_AOUT) $(PNGLIB_OMF) $(SHAREDLIB) $(IMPLIB_AOUT) $(IMPLIB_OMF)

$(PNGLIB_AOUT): $(OBJS)
	$(AR) rc $@ $(OBJS)

$(PNGLIB_OMF): $(PNGLIB_AOUT)
	$(OMFLIB) -l -o $@ $<

$(SHAREDLIB): $(PNGLIB_OMF) scripts/pngos2.def
	$(CC) $(DLLFLAGS) -o $@ $^

$(IMPLIB_AOUT): scripts/pngos2.def
	$(IMPLIB) -o $@ $<

$(IMPLIB_OMF): scripts/pngos2.def
	$(IMPLIB) -o $@ $<

pngtest.exe: pngtest.o $(SHAREDLIB) $(IMPLIB_AOUT)
	$(CC) -o $@ $< $(LDFLAGS)

test: pngtest.exe
	./pngtest.exe

clean:
	rm -f *.o $(PNGLIB_AOUT) $(PNGLIB_OMF) $(SHAREDLIB) \
	$(IMPLIB_AOUT) $(IMPLIB_OMF) pngtest.exe pngout.png

# DO NOT DELETE THIS LINE -- make depend depends on it.

png.o png.pic.o: png.h pngconf.h
pngerror.o pngerror.pic.o: png.h pngconf.h
pngrio.o pngrio.pic.o: png.h pngconf.h
pngwio.o pngwio.pic.o: png.h pngconf.h
pngmem.o pngmem.pic.o: png.h pngconf.h
pngset.o pngset.pic.o: png.h pngconf.h
pngget.o pngget.pic.o: png.h pngconf.h
pngread.o pngread.pic.o: png.h pngconf.h
pngrtran.o pngrtran.pic.o: png.h pngconf.h
pngrutil.o pngrutil.pic.o: png.h pngconf.h
pngtrans.o pngtrans.pic.o: png.h pngconf.h
pngwrite.o pngwrite.pic.o: png.h pngconf.h
pngwtran.o pngwtran.pic.o: png.h pngconf.h
pngwutil.o pngwutil.pic.o: png.h pngconf.h
pngpread.o pngpread.pic.o: png.h pngconf.h

pngtest.o: png.h pngconf.h
