# Exemplo de arquivo makefile para compilar programas que usam wxwindows
# em Windows 9x/NT usando compilador Mingw32 2.95.2.

# (C) Bruno de Oliveira Schneider - DCC - UFLA - 23/JUL/01 - Desenvolvido
# a partir dos exemplos distribuidos com a propria wxWindows.

# Este arquivo foi feito para que no seja necessario dividir cada classe
# num .h e um .cpp. Para compilar bastar criar um arquivo .cpp que da
# include nos diversos .h.

# =================================================================
# O nome do arquivo principal (.cpp) deve ser colocado na variavel
# PROGRAM. Os nomes dos arquivos .h devem ser colocados em CLASSES.
# Coloque tambem o nome do diretorio onde esta a wxWindows
# =================================================================

# Variaveis (mude WXDIR, PROGRAM e CLASSES) -----------------------
WXDIR = c:/wxwin
PROGRAM = elomaluco
# Nao deve ser necessario mudar nada abaixo -----------------------
CC = g++
OBJECTS = $(PROGRAM).o
OPFLAGS = --pipe -fvtable-thunks
CCFLAGS = -fno-pcc-struct-return -O2 -fno-rtti -fno-exceptions -Wall
LDFLAGS = -Wl,--subsystem,windows -mwindows
CONSTS = -D_X86_=1 -DWIN32 -D_WIN32 -DWINVER=0x0400 -D__WIN95__ -D__GNUWIN32__ -D__WIN32__ \
         -DSTRICT  -D__WXMSW__ -D__WINDOWS__ -D__WXDEBUG__
CCINCLUD = -I$(WXDIR)/include -I$(WXDIR)/contrib/include -I$(WXDIR)/include/wx/msw/gnuwin32
LDINCLUD = -L$(WXDIR)/lib -L$(WXDIR)/contrib/lib
RESOURCES = $(PROGRAM)_resources.o
RESFLAGS = --include-dir c:/wxwin/include --define __WIN32__ --define __WIN95__ \
           --define __GNUWIN32__
WXLIB = $(WXDIR)/lib/libwx.a
LDLIBS = -lpng -ljpeg -lzlib -lxpm -ltiff -lstdc++ -lgcc -lwinspool -lwinmm -lshell32 \
         -lcomctl32 -lctl3d32 -lodbc32 -ladvapi32 -lole32 -loleaut32 -luuid -lodbc32 \
         -lwsock32 -lopengl32 -lglu32
CFLAGS = $(INCS)  -s
OBJ  = JpegLib/Jpegfile.o JpegLib/JCAPIMIN.o JpegLib/JCAPISTD.o JpegLib/JCCOEFCT.o JpegLib/JCCOLOR.o JpegLib/JCDCTMGR.o JpegLib/JCHUFF.o JpegLib/JCINIT.o JpegLib/JCMAINCT.o JpegLib/JCMARKER.o JpegLib/JCMASTER.o JpegLib/JCOMAPI.o JpegLib/JCPARAM.o JpegLib/JCPHUFF.o JpegLib/JCPREPCT.o JpegLib/JCSAMPLE.o JpegLib/JCTRANS.o JpegLib/JDAPIMIN.o JpegLib/JDAPISTD.o JpegLib/JDATADST.o JpegLib/JDATASRC.o JpegLib/JDCOEFCT.o JpegLib/JDCOLOR.o JpegLib/JDDCTMGR.o JpegLib/JDHUFF.o JpegLib/JDINPUT.o JpegLib/JDMAINCT.o JpegLib/JDMARKER.o JpegLib/JDMASTER.o JpegLib/JDMERGE.o JpegLib/JDPHUFF.o JpegLib/JDPOSTCT.o JpegLib/JDSAMPLE.o JpegLib/JDTRANS.o JpegLib/JFDCTFLT.o JpegLib/JFDCTFST.o JpegLib/JFDCTINT.o JpegLib/JIDCTFLT.o JpegLib/JIDCTFST.o JpegLib/JIDCTINT.o JpegLib/JIDCTRED.o JpegLib/JMEMMGR.o JpegLib/JMEMNOBS.o JpegLib/JQUANT1.o JpegLib/JQUANT2.o JpegLib/JUTILS.o JpegLib/JERROR.o $(RES)

# Regras

all:    $(PROGRAM).exe

strip:	$(PROGRAM).exe
	strip $(PROGRAM).exe
	del *.o

JpegLib/Jpegfile.o: JpegLib/Jpegfile.cpp
	$(CC) -c JpegLib/Jpegfile.cpp -o JpegLib/Jpegfile.o $(CFLAGS)

JpegLib/JCAPIMIN.o: JpegLib/JCAPIMIN.C
	$(CC) -c JpegLib/JCAPIMIN.C -o JpegLib/JCAPIMIN.o $(CFLAGS)

JpegLib/JCAPISTD.o: JpegLib/JCAPISTD.C
	$(CC) -c JpegLib/JCAPISTD.C -o JpegLib/JCAPISTD.o $(CFLAGS)

JpegLib/JCCOEFCT.o: JpegLib/JCCOEFCT.C
	$(CC) -c JpegLib/JCCOEFCT.C -o JpegLib/JCCOEFCT.o $(CFLAGS)

JpegLib/JCCOLOR.o: JpegLib/JCCOLOR.C
	$(CC) -c JpegLib/JCCOLOR.C -o JpegLib/JCCOLOR.o $(CFLAGS)

JpegLib/JCDCTMGR.o: JpegLib/JCDCTMGR.C
	$(CC) -c JpegLib/JCDCTMGR.C -o JpegLib/JCDCTMGR.o $(CFLAGS)

JpegLib/JCHUFF.o: JpegLib/JCHUFF.C
	$(CC) -c JpegLib/JCHUFF.C -o JpegLib/JCHUFF.o $(CFLAGS)

JpegLib/JCINIT.o: JpegLib/JCINIT.C
	$(CC) -c JpegLib/JCINIT.C -o JpegLib/JCINIT.o $(CFLAGS)

JpegLib/JCMAINCT.o: JpegLib/JCMAINCT.C
	$(CC) -c JpegLib/JCMAINCT.C -o JpegLib/JCMAINCT.o $(CFLAGS)

JpegLib/JCMARKER.o: JpegLib/JCMARKER.C
	$(CC) -c JpegLib/JCMARKER.C -o JpegLib/JCMARKER.o $(CFLAGS)

JpegLib/JCMASTER.o: JpegLib/JCMASTER.C
	$(CC) -c JpegLib/JCMASTER.C -o JpegLib/JCMASTER.o $(CFLAGS)

JpegLib/JCOMAPI.o: JpegLib/JCOMAPI.C
	$(CC) -c JpegLib/JCOMAPI.C -o JpegLib/JCOMAPI.o $(CFLAGS)

JpegLib/JCPARAM.o: JpegLib/JCPARAM.C
	$(CC) -c JpegLib/JCPARAM.C -o JpegLib/JCPARAM.o $(CFLAGS)

JpegLib/JCPHUFF.o: JpegLib/JCPHUFF.C
	$(CC) -c JpegLib/JCPHUFF.C -o JpegLib/JCPHUFF.o $(CFLAGS)

JpegLib/JCPREPCT.o: JpegLib/JCPREPCT.C
	$(CC) -c JpegLib/JCPREPCT.C -o JpegLib/JCPREPCT.o $(CFLAGS)

JpegLib/JCSAMPLE.o: JpegLib/JCSAMPLE.C
	$(CC) -c JpegLib/JCSAMPLE.C -o JpegLib/JCSAMPLE.o $(CFLAGS)

JpegLib/JCTRANS.o: JpegLib/JCTRANS.C
	$(CC) -c JpegLib/JCTRANS.C -o JpegLib/JCTRANS.o $(CFLAGS)

JpegLib/JDAPIMIN.o: JpegLib/JDAPIMIN.C
	$(CC) -c JpegLib/JDAPIMIN.C -o JpegLib/JDAPIMIN.o $(CFLAGS)

JpegLib/JDAPISTD.o: JpegLib/JDAPISTD.C
	$(CC) -c JpegLib/JDAPISTD.C -o JpegLib/JDAPISTD.o $(CFLAGS)

JpegLib/JDATADST.o: JpegLib/JDATADST.C
	$(CC) -c JpegLib/JDATADST.C -o JpegLib/JDATADST.o $(CFLAGS)

JpegLib/JDATASRC.o: JpegLib/JDATASRC.C
	$(CC) -c JpegLib/JDATASRC.C -o JpegLib/JDATASRC.o $(CFLAGS)

JpegLib/JDCOEFCT.o: JpegLib/JDCOEFCT.C
	$(CC) -c JpegLib/JDCOEFCT.C -o JpegLib/JDCOEFCT.o $(CFLAGS)

JpegLib/JDCOLOR.o: JpegLib/JDCOLOR.C
	$(CC) -c JpegLib/JDCOLOR.C -o JpegLib/JDCOLOR.o $(CFLAGS)

JpegLib/JDDCTMGR.o: JpegLib/JDDCTMGR.C
	$(CC) -c JpegLib/JDDCTMGR.C -o JpegLib/JDDCTMGR.o $(CFLAGS)

JpegLib/JDHUFF.o: JpegLib/JDHUFF.C
	$(CC) -c JpegLib/JDHUFF.C -o JpegLib/JDHUFF.o $(CFLAGS)

JpegLib/JDINPUT.o: JpegLib/JDINPUT.C
	$(CC) -c JpegLib/JDINPUT.C -o JpegLib/JDINPUT.o $(CFLAGS)

JpegLib/JDMAINCT.o: JpegLib/JDMAINCT.C
	$(CC) -c JpegLib/JDMAINCT.C -o JpegLib/JDMAINCT.o $(CFLAGS)

JpegLib/JDMARKER.o: JpegLib/JDMARKER.C
	$(CC) -c JpegLib/JDMARKER.C -o JpegLib/JDMARKER.o $(CFLAGS)

JpegLib/JDMASTER.o: JpegLib/JDMASTER.C
	$(CC) -c JpegLib/JDMASTER.C -o JpegLib/JDMASTER.o $(CFLAGS)

JpegLib/JDMERGE.o: JpegLib/JDMERGE.C
	$(CC) -c JpegLib/JDMERGE.C -o JpegLib/JDMERGE.o $(CFLAGS)

JpegLib/JDPHUFF.o: JpegLib/JDPHUFF.C
	$(CC) -c JpegLib/JDPHUFF.C -o JpegLib/JDPHUFF.o $(CFLAGS)

JpegLib/JDPOSTCT.o: JpegLib/JDPOSTCT.C
	$(CC) -c JpegLib/JDPOSTCT.C -o JpegLib/JDPOSTCT.o $(CFLAGS)

JpegLib/JDSAMPLE.o: JpegLib/JDSAMPLE.C
	$(CC) -c JpegLib/JDSAMPLE.C -o JpegLib/JDSAMPLE.o $(CFLAGS)

JpegLib/JDTRANS.o: JpegLib/JDTRANS.C
	$(CC) -c JpegLib/JDTRANS.C -o JpegLib/JDTRANS.o $(CFLAGS)

JpegLib/JFDCTFLT.o: JpegLib/JFDCTFLT.C
	$(CC) -c JpegLib/JFDCTFLT.C -o JpegLib/JFDCTFLT.o $(CFLAGS)

JpegLib/JFDCTFST.o: JpegLib/JFDCTFST.C
	$(CC) -c JpegLib/JFDCTFST.C -o JpegLib/JFDCTFST.o $(CFLAGS)

JpegLib/JFDCTINT.o: JpegLib/JFDCTINT.C
	$(CC) -c JpegLib/JFDCTINT.C -o JpegLib/JFDCTINT.o $(CFLAGS)

JpegLib/JIDCTFLT.o: JpegLib/JIDCTFLT.C
	$(CC) -c JpegLib/JIDCTFLT.C -o JpegLib/JIDCTFLT.o $(CFLAGS)

JpegLib/JIDCTFST.o: JpegLib/JIDCTFST.C
	$(CC) -c JpegLib/JIDCTFST.C -o JpegLib/JIDCTFST.o $(CFLAGS)

JpegLib/JIDCTINT.o: JpegLib/JIDCTINT.C
	$(CC) -c JpegLib/JIDCTINT.C -o JpegLib/JIDCTINT.o $(CFLAGS)

JpegLib/JIDCTRED.o: JpegLib/JIDCTRED.C
	$(CC) -c JpegLib/JIDCTRED.C -o JpegLib/JIDCTRED.o $(CFLAGS)

JpegLib/JMEMMGR.o: JpegLib/JMEMMGR.C
	$(CC) -c JpegLib/JMEMMGR.C -o JpegLib/JMEMMGR.o $(CFLAGS)

JpegLib/JMEMNOBS.o: JpegLib/JMEMNOBS.C
	$(CC) -c JpegLib/JMEMNOBS.C -o JpegLib/JMEMNOBS.o $(CFLAGS)

JpegLib/JQUANT1.o: JpegLib/JQUANT1.C
	$(CC) -c JpegLib/JQUANT1.C -o JpegLib/JQUANT1.o $(CFLAGS)

JpegLib/JQUANT2.o: JpegLib/JQUANT2.C
	$(CC) -c JpegLib/JQUANT2.C -o JpegLib/JQUANT2.o $(CFLAGS)

JpegLib/JUTILS.o: JpegLib/JUTILS.C
	$(CC) -c JpegLib/JUTILS.C -o JpegLib/JUTILS.o $(CFLAGS)

JpegLib/JERROR.o: JpegLib/JERROR.C
	$(CC) -c JpegLib/JERROR.C -o JpegLib/JERROR.o $(CFLAGS)

$(PROGRAM).exe:	$(OBJECTS) $(RESOURCES)
	$(CC) $(OPFLAGS) $(LDFLAGS) $(LDINCLUD) -o $(PROGRAM).exe $(OBJECTS) $(RESOURCES) $(WXLIB) $(LDLIBS)


$(RESOURCES):	$(PROGRAM).rc
	windres -i $(PROGRAM).rc -o $(RESOURCES) $(RESFLAGS)

$(OBJECTS):	$(CLASSES) $(PROGRAM).cpp
	$(CC) $(OPFLAGS) $(CCFLAGS) $(CCINCLUD) -c $(CONSTS) -o $@ $(PROGRAM).cpp

clean: 
	del *.o
	del $(PROGRAM).exe
	del /p *.bak
	del /p *.org
