
# Note: Qt stuff must be compiled with runtime information and exceptions
CC_QT_FLAGS = -pipe -O2  -fmessage-length=0 -fPIC -Wall -W -DQT_NO_DEBUG

INCPATH  = -I$(QTDIR)/mkspecs/default -I. -I.. -I/usr/include -I$(QTDIR)/include -I.ui/ -I. -I.moc/
LINK     = g++
LFLAGS   =
LIBS     = $(SUBLIBS) -L/usr/lib/ -L$(QTDIR)/lib/ -L/usr/X11R6/lib/ -L../../obj -lasound -lqt-mt -lXext -lX11 -lm ../../obj/machine.a ../../obj/cpu.a ../../obj/emu.a ../../obj/sound.a ../../obj/ase.a
MOC      = $(QTDIR)/bin/moc
UIC      = $(QTDIR)/bin/uic

####### Files

OBJECTS = $(OBJDIR)main.o \
	$(OBJDIR)formmain.o \
	$(OBJDIR)formloaddriver.o \
	$(OBJDIR)formoptions.o \
	$(OBJDIR)alsa_playback.o \
	$(OBJDIR)linux_frame.o

FORMS = formmain.ui \
	formloaddriver.ui \
	formoptions.ui

UICDECLS = .ui/formmain.h \
	.ui/formloaddriver.h \
	.ui/formoptions.h

UICIMPLS = .ui/formmain.cpp \
	.ui/formloaddriver.cpp \
	.ui/formoptions.cpp

SRCMOC   = .moc/moc_formmain.cpp \
	.moc/moc_formloaddriver.cpp \
	.moc/moc_formoptions.cpp

OBJMOC = $(OBJDIR)moc_formmain.o \
	$(OBJDIR)moc_formloaddriver.o \
	$(OBJDIR)moc_formoptions.o

TARGET   = $(OBJDIR)tickle

all: Makefile $(TARGET)

$(TARGET):  $(UICDECLS) $(OBJECTS) $(OBJMOC)
	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) $(OBJCOMP)

mocables: $(SRCMOC)

uicables: $(UICDECLS) $(UICIMPLS)

$(MOC):
	( cd $(QTDIR)/src/moc ; $(MAKE) )

####### Compile

$(OBJDIR)alsa_playback.o: alsa_playback.cxx alsa_playback.h
	$(CC) -c $(CC_FLAGS) $(INCPATH) -o $(OBJDIR)/alsa_playback.o alsa_playback.cxx

$(OBJDIR)main.o: main.cpp .ui/formmain.h
	$(CC) -c $(CC_QT_FLAGS) $(INCPATH) -o $(OBJDIR)/main.o main.cpp

$(OBJDIR)linux_frame.o: linux_frame.cxx linux_frame.h
	$(CC) -c $(CC_FLAGS) $(INCPATH) -o $(OBJDIR)/linux_frame.o linux_frame.cxx

.ui/formmain.h: formmain.ui
	$(UIC) formmain.ui -o .ui/formmain.h

.ui/formmain.cpp: .ui/formmain.h formmain.ui formmain.ui.h
	$(UIC) formmain.ui -i formmain.h -o .ui/formmain.cpp

.ui/formloaddriver.h: formloaddriver.ui
	$(UIC) formloaddriver.ui -o .ui/formloaddriver.h

.ui/formloaddriver.cpp: .ui/formloaddriver.h formloaddriver.ui
	$(UIC) formloaddriver.ui -i formloaddriver.h -o .ui/formloaddriver.cpp

.ui/formoptions.h: formoptions.ui
	$(UIC) formoptions.ui -o .ui/formoptions.h

.ui/formoptions.cpp: .ui/formoptions.h formoptions.ui formoptions.ui.h
	$(UIC) formoptions.ui -i formoptions.h -o .ui/formoptions.cpp

$(OBJDIR)formmain.o: .ui/formmain.cpp .ui/formmain.h
	$(CC) -c $(CC_QT_FLAGS) $(INCPATH) -o $(OBJDIR)formmain.o .ui/formmain.cpp

$(OBJDIR)formloaddriver.o: .ui/formloaddriver.cpp .ui/formloaddriver.h
	$(CC) -c $(CC_QT_FLAGS) $(INCPATH) -o $(OBJDIR)formloaddriver.o .ui/formloaddriver.cpp

$(OBJDIR)formoptions.o: .ui/formoptions.cpp .ui/formoptions.h
	$(CC) -c $(CC_QT_FLAGS) $(INCPATH) -o $(OBJDIR)formoptions.o .ui/formoptions.cpp

$(OBJDIR)moc_formmain.o: .moc/moc_formmain.cpp .ui/formmain.h
	$(CC) -c $(CC_QT_FLAGS) $(INCPATH) -o $(OBJDIR)moc_formmain.o .moc/moc_formmain.cpp

$(OBJDIR)moc_formloaddriver.o: .moc/moc_formloaddriver.cpp .ui/formloaddriver.h
	$(CC) -c $(CC_QT_FLAGS) $(INCPATH) -o $(OBJDIR)moc_formloaddriver.o .moc/moc_formloaddriver.cpp

$(OBJDIR)moc_formoptions.o: .moc/moc_formoptions.cpp .ui/formoptions.h
	$(CC) -c $(CC_QT_FLAGS) $(INCPATH) -o $(OBJDIR)moc_formoptions.o .moc/moc_formoptions.cpp

.moc/moc_formmain.cpp: $(MOC) .ui/formmain.h
	$(MOC) .ui/formmain.h -o .moc/moc_formmain.cpp

.moc/moc_formloaddriver.cpp: $(MOC) .ui/formloaddriver.h
	$(MOC) .ui/formloaddriver.h -o .moc/moc_formloaddriver.cpp

.moc/moc_formoptions.cpp: $(MOC) .ui/formoptions.h
	$(MOC) .ui/formoptions.h -o .moc/moc_formoptions.cpp
