# 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

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

libpng.a: $(OBJS)
	ar rc $@  $(OBJS)
	$(RANLIB) $@

pngtest: pngtest.o libpng.a
	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
	coff2exe pngtest

test: pngtest
	./pngtest
clean:
	rm -f *.o libpng.a pngtest pngout.png

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

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

