ifeq "$(SOURCE_PATH)" "" SOURCE_PATH = .. endif ifeq "$(BUILD_PATH)" "" BUILD_PATH = .. endif CORESRC = $(SOURCE_PATH)/src/corelib TOOLSRC = $(SOURCE_PATH)/tools QMKSRC = $(SOURCE_PATH)/qmake # SHELL is the full path of sh.exe, unless # 1) it is found in the current directory # 2) it is not found at all # 3) it is overridden on the command line with an existing file # ... otherwise it is always sh.exe. Specifically, SHELL from the # environment has no effect. # # This check will fail if SHELL is explicitly set to a not # sh-compatible shell. This is not a problem, because configure.exe # will not do that. ifeq ($(SHELL), sh.exe) ifeq ($(wildcard $(CURDIR)/sh.exe), ) SH = 0 else SH = 1 endif else SH = 1 endif ifeq ($(SH), 1) COPY = cp DEL = rm -f else COPY = copy DEL = del /f endif # # specific stuff for mingw g++ make # CXX = g++ CFLAGS = -c -o$@ -O \ -I$(QMKSRC) -I$(QMKSRC)/generators -I$(QMKSRC)/generators/unix -I$(QMKSRC)/generators/win32 -I$(QMKSRC)/generators/mac -I$(QMKSRC)/generators/integrity \ -I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore -I$(BUILD_PATH)/include/QtCore/$(QT_VERSION) -I$(BUILD_PATH)/include/QtCore/$(QT_VERSION)/QtCore \ -I$(BUILD_PATH)/src/corelib/global \ -I$(SOURCE_PATH)/mkspecs/win32-g++ \ -I$(SOURCE_PATH)/tools/shared \ -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT \ -DQT_NODLL -DQT_NO_COMPRESS -DUNICODE -DHAVE_QCONFIG_CPP \ -DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM \ -DQT_BOOTSTRAPPED CXXFLAGS = $(CFLAGS) LFLAGS = -static-libgcc -s LIBS = -lole32 -luuid -ladvapi32 -lkernel32 LINKQMAKE = g++ $(LFLAGS) -o qmake.exe $(OBJS) $(QTOBJS) $(LIBS) ADDCLEAN = #qmake code OBJS = project.o main.o makefile.o unixmake.o unixmake2.o mingw_make.o \ option.o winmakefile.o projectgenerator.o property.o meta.o \ makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o \ borland_bmake.o msvc_nmake.o msvc_vcproj.o msvc_vcxproj.o \ msvc_objectmodel.o msbuild_objectmodel.o registry.o gbuild.o ifdef QMAKE_OPENSOURCE_EDITION CFLAGS += -DQMAKE_OPENSOURCE_EDITION endif #qt code QTOBJS= \ qbitarray.o \ qbuffer.o \ qarraydata.o \ qbytearray.o \ qcryptographichash.o \ qvsnprintf.o \ qbytearraymatcher.o \ qconfig.o \ qdatetime.o \ qdir.o \ qdiriterator.o \ qfiledevice.o \ qfile.o \ qtemporaryfile.o \ qfileinfo.o \ qabstractfileengine.o \ qfilesystementry.o \ qfilesystemengine.o \ qfilesystemengine_win.o \ qfilesystemiterator_win.o \ qfsfileengine.o \ qfsfileengine_iterator.o \ qfsfileengine_win.o \ qglobal.o \ qhash.o \ qiodevice.o \ qlibraryinfo.o \ qlist.o \ qlinkedlist.o \ qlocale.o \ qlocale_tools.o \ qlocale_win.o \ qmalloc.o \ qmap.o \ qregexp.o \ qtextcodec.o \ qutfcodec.o \ qstring.o \ qstringlist.o \ qstringbuilder.o \ qsystemerror.o \ qsystemlibrary.o \ qtextstream.o \ quuid.o \ qvector.o \ qsettings.o \ qsettings_win.o \ qvariant.o \ qmetatype.o \ qxmlstream.o \ qxmlutils.o \ qnumeric.o \ qlogging.o qmake.exe: $(OBJS) $(QTOBJS) $(LINKQMAKE) -$(COPY) qmake.exe $(BUILD_PATH)\bin\qmake.exe Makefile: $(SOURCE_PATH)/qmake/Makefile.win32-g++ @echo "Out of date, please rerun configure" clean:: -$(DEL) $(OBJS) $(QTOBJS) $(ADDCLEAN) distclean:: clean -$(DEL) qmake.exe .c.o: $(CXX) $(CFLAGS) $< .cpp.o: $(CXX) $(CXXFLAGS) $< QTVPATH = $(TOOLSRC)/shared/windows:$(CORESRC)/global:$(CORESRC)/kernel:$(CORESRC)/tools:$(CORESRC)/codecs:$(CORESRC)/io:$(CORESRC)/xml:$(CORESRC)/plugin:$(BUILD_PATH)/src/corelib/global VPATH = $(QMKSRC):$(QMKSRC)/generators:$(QMKSRC)/generators/unix:$(QMKSRC)/generators/mac:$(QMKSRC)/generators/win32:$(QMKSRC)/generators/integrity:$(QTVPATH) project.o: $(QMKSRC)/project.h $(QMKSRC)/option.h meta.o: $(QMKSRC)/project.h $(QMKSRC)/option.h main.o: $(QMKSRC)/project.h option.o: $(QMKSRC)/option.h property.o: $(QMKSRC)/project.h $(QMKSRC)/option.h