summaryrefslogtreecommitdiffstats
path: root/qmake/Makefile.win32-g++
blob: 7bc24edef912045764e0b69017d44a6b566cc486 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
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
QMKLIBSRC = $(QMKSRC)/library

# 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$(QMKLIBSRC) -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 -DHAVE_QCONFIG_CPP \
		-I$(SOURCE_PATH)/mkspecs/win32-g++  \
		-I$(SOURCE_PATH)/tools/shared \
		-DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL -DPROEVALUATOR_DEBUG \
		-DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_COMPRESS \
		-DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM \
		-DUNICODE
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 ioutils.o proitems.o \
              qmakeglobals.o qmakeparser.o qmakeevaluator.o qmakebuiltins.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 \
              msvc_nmake.o msvc_vcproj.o msvc_vcxproj.o \
              msvc_objectmodel.o msbuild_objectmodel.o registry.o gbuild.o \
              cesdkhandler.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):$(QMKLIBSRC):$(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