# GNU makefile for rebuilding PaintLib

SRCDIR=../../src
OBJDIR=../obj
LIBDIR=../bin
INCLUDES=-I../../../otherlib/jpeglib -I../jpeglib		     \
	 -I../../../otherlib/libtiff/libtiff -I../libtiff
CPPFLAGS= -g -I${SRCDIR} ${INCLUDES} -I$(TIFFDIR) -Wall 	     \
	  -fhandle-exceptions -Wno-unused -D _DEBUG		     \
	  -o $@

#    -g 		 turn on debug info
#    -I 		 specifies include directory
#    -Wall		 turns on all warnings
#    -fhandle-exceptions allows exception handling
#    -Wno-unused	 don't complain when function arguments stay
#			 unused.
#    -o $@		 (whew!) object file created is target of
#			 dependency rule.

# Release flags: -O3 is Optimize,
#      -m486 is 486 as target processor

OBJS=${OBJDIR}/anybmp.o ${OBJDIR}/anydec.o ${OBJDIR}/bmpdec.o	     \
     ${OBJDIR}/datasrc.o ${OBJDIR}/except.o ${OBJDIR}/filesrc.o      \
     ${OBJDIR}/jpegdec.o ${OBJDIR}/picdec.o ${OBJDIR}/pictdec.o      \
     ${OBJDIR}/stdpch.o ${OBJDIR}/tgadec.o ${OBJDIR}/bitmap.o	     \
     ${OBJDIR}/trace.o ${OBJDIR}/tiffdec.o ${OBJDIR}/jmemsrc.o	     \
     ${OBJDIR}/tif_msrc.o

debug: ${LIBDIR}/paintlib.a

${LIBDIR}/paintlib.a: ${OBJS}
	ar rc ${LIBDIR}/paintlib.a $?
	ranlib ${LIBDIR}/paintlib.a

# Include files of every cpp file
${OBJS}: ${SRCDIR}/stdpch.h makefile

${OBJDIR}/bitmap.o: ${SRCDIR}/bitmap.cpp ${SRCDIR}/except.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/bitmap.cpp

${OBJDIR}/anybmp.o: ${SRCDIR}/anybmp.cpp ${SRCDIR}/anybmp.h	     \
	  ${SRCDIR}/except.h ${SRCDIR}/bitmap.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/anybmp.cpp

${OBJDIR}/anydec.o: ${SRCDIR}/anydec.cpp ${SRCDIR}/anydec.h	     \
	  ${SRCDIR}/bitmap.h ${SRCDIR}/except.h ${SRCDIR}/picdec.h   \
	  ${SRCDIR}/bmpdec.h ${SRCDIR}/jpegdec.h		     \
	  ${SRCDIR}/pictdec.h ${SRCDIR}/tgadec.h ${SRCDIR}/tiffdec.h \
	  ${SRCDIR}/datasrc.h ${SRCDIR}/anybmp.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/anydec.cpp

${OBJDIR}/bmpdec.o: ${SRCDIR}/bmpdec.cpp ${SRCDIR}/bmpdec.h	     \
	  ${SRCDIR}/except.h ${SRCDIR}/picdec.h ${SRCDIR}/windefs.h  \
	  ${SRCDIR}/datasrc.h ${SRCDIR}/bitmap.h ${SRCDIR}/anybmp.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/bmpdec.cpp

${OBJDIR}/datasrc.o: ${SRCDIR}/datasrc.cpp ${SRCDIR}/datasrc.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/datasrc.cpp

${OBJDIR}/except.o: ${SRCDIR}/except.cpp ${SRCDIR}/except.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/except.cpp

${OBJDIR}/filesrc.o: ${SRCDIR}/filesrc.cpp ${SRCDIR}/filesrc.h	     \
	  ${SRCDIR}/datasrc.h ${SRCDIR}/except.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/filesrc.cpp

${OBJDIR}/jpegdec.o: ${SRCDIR}/jpegdec.cpp ${SRCDIR}/jpegdec.h	     \
	  ${SRCDIR}/picdec.h ${SRCDIR}/except.h ${SRCDIR}/datasrc.h  \
	  ${SRCDIR}/bitmap.h ${SRCDIR}/anybmp.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/jpegdec.cpp

${OBJDIR}/picdec.o: ${SRCDIR}/picdec.cpp ${SRCDIR}/picdec.h	     \
	  ${SRCDIR}/except.h ${SRCDIR}/datasrc.h ${SRCDIR}/filesrc.h \
	  ${SRCDIR}/bitmap.h ${SRCDIR}/anybmp.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/picdec.cpp

${OBJDIR}/pictdec.o: ${SRCDIR}/pictdec.cpp ${SRCDIR}/pictdec.h	     \
	  ${SRCDIR}/except.h ${SRCDIR}/datasrc.h ${SRCDIR}/filesrc.h \
	  ${SRCDIR}/bitmap.h ${SRCDIR}/anybmp.h ${SRCDIR}/picdec.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/pictdec.cpp

${OBJDIR}/stdpch.o: ${SRCDIR}/stdpch.cpp ${SRCDIR}/stdpch.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/stdpch.cpp

${OBJDIR}/tgadec.o: ${SRCDIR}/tgadec.cpp ${SRCDIR}/tgadec.h	      \
	  ${SRCDIR}/tga.h ${SRCDIR}/except.h ${SRCDIR}/datasrc.h      \
	  ${SRCDIR}/filesrc.h ${SRCDIR}/bitmap.h ${SRCDIR}/anybmp.h   \
	  ${SRCDIR}/picdec.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/tgadec.cpp

${OBJDIR}/tiffdec.o: ${SRCDIR}/tiffdec.cpp ${SRCDIR}/tiffdec.h	      \
	  ${SRCDIR}/except.h ${SRCDIR}/datasrc.h ${SRCDIR}/filesrc.h  \
	  ${SRCDIR}/bitmap.h ${SRCDIR}/anybmp.h ${SRCDIR}/picdec.h    \
	  ${SRCDIR}/tif_msrc.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/tiffdec.cpp

${OBJDIR}/trace.o: ${SRCDIR}/trace.cpp
	gcc -c ${CPPFLAGS} ${SRCDIR}/trace.cpp

${OBJDIR}/jmemsrc.o: ${SRCDIR}/jmemsrc.c ${SRCDIR}/jmemsrc.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/jmemsrc.c

${OBJDIR}/tif_msrc.o: ${SRCDIR}/tif_msrc.c ${SRCDIR}/tif_msrc.h
	gcc -c ${CPPFLAGS} ${SRCDIR}/tif_msrc.c
