#qmake code
OBJS=project.o property.o main.o makefile.o unixmake2.o unixmake.o msvc_nmake.o \
     borland_bmake.o mingw_make.o msvc_dsp.o msvc_vcproj.o option.o \
     winmakefile.o projectgenerator.o metrowerks_xml.o  pbuilder_pbx.o \
     msvc_objectmodel.o meta.o qtmd5.o

#qt code
QOBJS=qstring.o qtextstream.o qiodevice.o qglobal.o qgdict.o qcstring.o \
      qdatastream.o qgarray.o qbuffer.o qglist.o qptrcollection.o qfile.o \
      qfile_unix.o qregexp.o qgvector.o qgcache.o qbitarray.o qdir.o quuid.o \
      qfileinfo_unix.o qdir_unix.o qfileinfo.o qdatetime.o qstringlist.o qmap.o \
      qconfig.o qunicodetables.o qsettings.o qlocale.o @QMAKE_QTOBJS@

#all sources, used for the depend target
DEPEND_SRC=project.cpp property.cpp meta.cpp main.cpp qtmd5.cpp generators/makefile.cpp generators/unix/unixmake2.cpp \
           generators/unix/unixmake.cpp generators/win32/msvc_nmake.cpp generators/win32/borland_bmake.cpp \
	   generators/win32/winmakefile.cpp generators/projectgenerator.cpp generators/mac/metrowerks_xml.cpp \
	   generators/mac/pbuilder_pbx.cpp generators/win32/msvc_objectmodel.cpp \
	   @SOURCE_PATH@/src/tools/qstring.cpp @SOURCE_PATH@/src/tools/qtextstream.cpp \
	   @SOURCE_PATH@/src/tools/qiodevice.cpp @SOURCE_PATH@/src/tools/qglobal.cpp \
	   @SOURCE_PATH@/src/tools/qgdict.cpp @SOURCE_PATH@/src/tools/qcstring.cpp \
	   @SOURCE_PATH@/src/tools/qdatastream.cpp @SOURCE_PATH@/src/tools/qgarray.cpp \
	   @SOURCE_PATH@/src/tools/qbuffer.cpp @SOURCE_PATH@/src/tools/qglist.cpp \
	   @SOURCE_PATH@/src/tools/qptrcollection.cpp @SOURCE_PATH@/src/tools/qfile.cpp \
	   @SOURCE_PATH@/src/tools/qfile_unix.cpp @SOURCE_PATH@/src/tools/qregexp.cpp \
	   @SOURCE_PATH@/src/tools/qgvector.cpp @SOURCE_PATH@/src/tools/qgcache.cpp \
	   @SOURCE_PATH@/src/tools/qbitarray.cpp @SOURCE_PATH@/src/tools/qdir.cpp \
	   @SOURCE_PATH@/src/tools/quuid.cpp @SOURCE_PATH@/src/tools/qfileinfo_unix.cpp \
	   @SOURCE_PATH@/src/tools/qdir_unix.cpp @SOURCE_PATH@/src/tools/qfileinfo.cpp \
	   @SOURCE_PATH@/src/tools/qdatetime.cpp @SOURCE_PATH@/src/tools/qstringlist.cpp \
	   @SOURCE_PATH@/src/tools/qmap.cpp @SOURCE_PATH@/src/tools/qconfig.cpp \
	   @SOURCE_PATH@/src/tools/qsettings.cpp @SOURCE_PATH@/src/tools/qurl.cpp \
	   @SOURCE_PATH@/src/tools/qsettings_mac.cpp @SOURCE_PATH@/src/tools/qlocale.cpp

CXXFLAGS= @QMAKE_CXXFLAGS@ \
	-I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac \
	-I@BUILD_PATH@/include/qmake -I@BUILD_PATH@/include -I@SOURCE_PATH@/include \
	-DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL \
	-DQT_NO_COMPRESS -I@QMAKESPEC@ -DHAVE_QCONFIG_CPP
LFLAGS=@QMAKE_LFLAGS@

qmake: $(OBJS) $(QOBJS)
	$(CXX) -o $@ $(OBJS) $(QOBJS) $(LFLAGS)
	rm -f @BUILD_PATH@/bin/$@
	ln -s ../qmake/$@ @BUILD_PATH@/bin/$@

install: qmake
	[ -d @QT_INSTALL_BINS@ ] || mkdir -p @QT_INSTALL_BINS@
	-cp -f @BUILD_PATH@/bin/qmake @QT_INSTALL_BINS@
	[ -d @QT_INSTALL_DATA@ ] || mkdir -p @QT_INSTALL_DATA@
	-cp -R -f @SOURCE_PATH@/mkspecs @QT_INSTALL_DATA@
	-ln -s -f @QMAKESPEC@ @QT_INSTALL_DATA@/mkspecs/default

clean::
	rm -f $(OBJS) $(QOBJS)

distclean:: clean
	rm -rf qmake .deps

depend:
	makedepend $(CXXFLAGS) -D__MAKEDEPEND__ $(DEPEND_SRC)

# don't use optimization for these
qtextstream.o: @SOURCE_PATH@/src/tools/qtextstream.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qtextstream.cpp

qiodevice.o: @SOURCE_PATH@/src/tools/qiodevice.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qiodevice.cpp

qglobal.o: @SOURCE_PATH@/src/tools/qglobal.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qglobal.cpp

qgdict.o: @SOURCE_PATH@/src/tools/qgdict.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qgdict.cpp

qcstring.o: @SOURCE_PATH@/src/tools/qcstring.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qcstring.cpp

qsettings.o: @SOURCE_PATH@/src/tools/qsettings.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qsettings.cpp

qsettings_mac.o: @SOURCE_PATH@/src/tools/qsettings_mac.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qsettings_mac.cpp

qurl.o: @SOURCE_PATH@/src/kernel/qurl.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/kernel/qurl.cpp

qstring.o: @SOURCE_PATH@/src/tools/qstring.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qstring.cpp

qlocale.o: @SOURCE_PATH@/src/tools/qlocale.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qlocale.cpp

qdatastream.o: @SOURCE_PATH@/src/tools/qdatastream.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qdatastream.cpp

qunicodetables.o: @SOURCE_PATH@/src/tools/qunicodetables.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qunicodetables.cpp

qgarray.o: @SOURCE_PATH@/src/tools/qgarray.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qgarray.cpp

qbuffer.o: @SOURCE_PATH@/src/tools/qbuffer.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qbuffer.cpp

qglist.o: @SOURCE_PATH@/src/tools/qglist.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qglist.cpp

qptrcollection.o: @SOURCE_PATH@/src/tools/qptrcollection.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qptrcollection.cpp

qfile.o: @SOURCE_PATH@/src/tools/qfile.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qfile.cpp

qfile_unix.o: @SOURCE_PATH@/src/tools/qfile_unix.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qfile_unix.cpp

qregexp.o: @SOURCE_PATH@/src/tools/qregexp.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qregexp.cpp

qgvector.o: @SOURCE_PATH@/src/tools/qgvector.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qgvector.cpp

qgcache.o: @SOURCE_PATH@/src/tools/qgcache.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qgcache.cpp

qbitarray.o: @SOURCE_PATH@/src/tools/qbitarray.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qbitarray.cpp

qdir.o: @SOURCE_PATH@/src/tools/qdir.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qdir.cpp

quuid.o: @SOURCE_PATH@/src/tools/quuid.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/quuid.cpp

qfileinfo_unix.o: @SOURCE_PATH@/src/tools/qfileinfo_unix.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qfileinfo_unix.cpp

qdir_unix.o: @SOURCE_PATH@/src/tools/qdir_unix.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qdir_unix.cpp

qfileinfo.o: @SOURCE_PATH@/src/tools/qfileinfo.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qfileinfo.cpp

qdatetime.o: @SOURCE_PATH@/src/tools/qdatetime.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qdatetime.cpp

qstringlist.o: @SOURCE_PATH@/src/tools/qstringlist.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qstringlist.cpp

qmap.o: @SOURCE_PATH@/src/tools/qmap.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @SOURCE_PATH@/src/tools/qmap.cpp

qconfig.o: @BUILD_PATH@/src/tools/qconfig.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) @BUILD_PATH@/src/tools/qconfig.cpp

winmakefile.o: generators/win32/winmakefile.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/win32/winmakefile.cpp

project.o: project.cpp project.h option.h
	$(CXX) -c -o $@ $(CXXFLAGS) project.cpp

property.o: property.cpp project.h option.h
	$(CXX) -c -o $@ $(CXXFLAGS) property.cpp

meta.o: meta.cpp project.h option.h
	$(CXX) -c -o $@ $(CXXFLAGS) meta.cpp

main.o: main.cpp project.h
	$(CXX) -c -o $@ $(CXXFLAGS) main.cpp

option.o: option.cpp option.h
	$(CXX) -c -o $@ $(CXXFLAGS) option.cpp

qtmd5.o: qtmd5.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) qtmd5.cpp

makefile.o: generators/makefile.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/makefile.cpp

unixmake.o: generators/unix/unixmake.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/unix/unixmake.cpp

unixmake2.o: generators/unix/unixmake2.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/unix/unixmake2.cpp

borland_bmake.o: generators/win32/borland_bmake.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/win32/borland_bmake.cpp

mingw_make.o: generators/win32/mingw_make.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/win32/mingw_make.cpp

msvc_objectmodel.o: generators/win32/msvc_objectmodel.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/win32/msvc_objectmodel.cpp

msvc_vcproj.o: generators/win32/msvc_vcproj.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/win32/msvc_vcproj.cpp

msvc_nmake.o: generators/win32/msvc_nmake.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/win32/msvc_nmake.cpp

metrowerks_xml.o: generators/mac/metrowerks_xml.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/mac/metrowerks_xml.cpp

pbuilder_pbx.o: generators/mac/pbuilder_pbx.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/mac/pbuilder_pbx.cpp

msvc_dsp.o: generators/win32/msvc_dsp.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/win32/msvc_dsp.cpp

projectgenerator.o: generators/projectgenerator.cpp
	$(CXX) -c -o $@ $(CXXFLAGS) generators/projectgenerator.cpp

#default rules
.cpp.o:
	$(CXX) -c -o $@ $(CXXFLAGS) $<

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