annotate Makefile @ 282:256ab6cb8e85

Signals look-up andNew syntax for connect. The old one will not work from now on. This will allow for the signals overload. Although changes are done for both D1 and D2 versions, D1 won't work because of compiler bugs. I am tired of waiting for fixes.
author eldar
date Fri, 16 Oct 2009 02:43:59 +0000
parents d80396e54c93
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
271
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
1 ## TODO: CPP_SHARED is very experemental on posix.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
2 ## TODO: "make clean" don`t work as expected.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
3 ## TODO: add target "install"
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
4 ## TODO: delete 'lib' prefix from output library name under windows.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
5
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
6 ## Read variable from shell.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
7 export QTDIR
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
8 export QTDIR_INC
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
9 export QTDIR_LIB
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
10 ## End. Read variable from shell.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
11
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
12 ## Try identify system.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
13 ifeq ($(strip $(shell uname)),Linux)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
14 SYSTEM=posix
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
15 else
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
16 ifeq ($(strip $(shell uname)),Darwin)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
17 SYSTEM=posix
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
18 else
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
19 SYSTEM=windows
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
20 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
21 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
22 ## End, Try identify system.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
23
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
24 ## Load system specify settings.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
25 include build/$(SYSTEM).makefile
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
26
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
27 ## Main settings.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
28 ## D compiler.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
29 ifndef $(DC)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
30 DC = dmd
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
31 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
32 ## C++ compiler.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
33 ifndef $(CC)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
34 CC = g++
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
35 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
36 ## Archiver.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
37 ifndef $(AR)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
38 AR = ar
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
39 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
40 ## Set default target.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
41 ifndef $(BUILD_TYPE)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
42 BUILD_TYPE = release
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
43 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
44
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
45 ## Tmp path.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
46 ifndef $(TMP_PATH)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
47 TMP_PATH_ = tmp
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
48 TMP_PATH = $(TMP_PATH_)$(SL)$(BUILD_TYPE)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
49 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
50 ## Output path.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
51 ifndef $(OUTPUT_PATH)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
52 OUTPUT_PATH = lib
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
53 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
54 ## Prefix for lib name.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
55 ifndef $(NAME_PREFIX)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
56 NAME_PREFIX = qtd
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
57 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
58
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
59 ifndef $(PACKAGES)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
60 PACKAGES = core gui
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
61 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
62
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
63 ifeq ($(DMD_WIN), false)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
64 LIB_PREFIX = lib
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
65 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
66
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
67 CC_INCLUDE += include $(QTDIR_INC) $(QTDIR_INC)$(SL)Qt $(QTDIR_INC)$(SL)QtCore $(QTDIR_INC)$(SL)QtGui $(QTDIR_INC)$(SL)QtOpenGL $(QTDIR_INC)$(SL)QtSvg
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
68 D_INCLUDE +=
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
69 CC_LFLAGS += -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
70 CC_CFLAGS +=
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
71 D_CFLAGS +=
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
72 CC_LIB_PATH += $(QTDIR_LIB) $(TMP_PATH)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
73 D_LIB_PATH += $(TMP_PATH)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
74
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
75 ## D target
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
76 ifndef D_TARGET
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
77 D_TARGET = d1-tango
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
78 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
79
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
80 ifeq ($(D_TARGET), d1-tango)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
81 D_VERSION = 1
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
82 else
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
83 D_VERSION = 2
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
84 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
85 D_CFLAGS += -Iqt/d$(D_VERSION)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
86
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
87 #End. Main settings.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
88
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
89 ## Flags for debug version.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
90 ifeq ($(BUILD_TYPE), debug)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
91 CC_CFLAGS += -O0
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
92 D_CFLAGS += -debug -g -gc
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
93 LIB_POSTFIX = d
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
94 else ifeq ($(BUILD_TYPE), release)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
95 ## End. Flags for debug version.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
96 ## Flags for release version
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
97 CC_CFLAGS += -O
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
98 D_CFLAGS += -O -release -inline
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
99 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
100 ## End. Flags for release version.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
101
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
102 ## Load classes list.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
103 ## param 1 - package name.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
104 define MODULE_template
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
105 include build/$(1).makefile
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
106 qt_$(1)_lib_name = $$(qt_$(1)_name)$(QT_LIB_POSTFIX)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
107 $(1)_cpp_files += $$($(1)_classes:%=cpp/qt_$(1)/%_shell.cpp)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
108 $(1)_cpp_obj_files = $$($(1)_cpp_files:cpp/%.cpp=$(TMP_PATH)/%.o)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
109 $(1)_d_files += $$($(1)_classes:%=qt/$(1)/%.d)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
110 endef
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
111 $(foreach package,$(PACKAGES),$(eval $(call MODULE_template,$(package))))
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
112 ## End. Load classes list
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
113
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
114 ## DMD compile template bug fix
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
115 ifeq ($(DC), dmd)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
116 NOT_SEPARATE_D_OBJ = true
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
117 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
118
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
119 ifeq ($(SYSTEM), windows)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
120 ifeq ($(DC), dmd)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
121 DMD_WIN = true
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
122 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
123 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
124
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
125 ifeq ($(DMD_WIN), true)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
126 CPP_SHARED = true
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
127 LIB_EXT = lib
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
128 else
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
129 LIB_EXT = a
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
130 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
131
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
132 ## CPP_SHARED options.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
133 ifeq ($(CPP_SHARED), true)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
134 CC_CFLAGS += -DCPP_SHARED
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
135 GEN_OPT += --cpp_shared
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
136 D_CFLAGS += -version=cpp_shared
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
137 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
138 ## End. CPP_SHARED options.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
139
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
140 all: dgen build
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
141
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
142 windows:
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
143 $(MAKE) SYSTEM=windows
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
144
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
145 posix:
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
146 $(MAKE) SYSTEM=posix
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
147
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
148 release: all
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
149
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
150 debug:
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
151 $(MAKE) BUILD_TYPE=debug
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
152
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
153 build: mkdir $(PACKAGES)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
154
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
155 ## DGenerator
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
156 make_gen:
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
157 cd generator && qmake && $(MAKE)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
158
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
159 dgen: make_gen
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
160 cd generator && $(GEN) $(GEN_OPT) --d-target=$(D_TARGET) --output-directory=../ qtjambi_masterinclude.h build_gui.txt
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
161 ## DGenerator ## end
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
162
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
163 mkdir:
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
164 @$(MKDIR) $(TMP_PATH_)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
165 @$(MKDIR) $(TMP_PATH)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
166 @$(MKDIR) $(TMP_PATH)$(SL)qt_qtd
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
167 @$(MKDIR) $(TMP_PATH)$(SL)qtd
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
168 @$(MKDIR) $(OUTPUT_PATH)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
169
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
170 ## Build cpp files.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
171 $(TMP_PATH)/%.o: cpp/%.cpp
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
172 $(CC) $(CC_CFLAGS) $(CC_INCLUDE:%=-I%) -c $(@:$(TMP_PATH)/%.o=cpp/%.cpp) -o$@
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
173
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
174 ## Build d files.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
175 $(TMP_PATH)/%_d.o: qt/%.d
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
176 $(DC) $(D_CFLAGS) -c $(@:$(TMP_PATH)/%_d.o=qt/%.d) -of$@
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
177
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
178 ## Build package.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
179 ## param 1 - package name.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
180 define BUILD_template
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
181 ## mkdir
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
182 mkdir_$(1):
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
183 @$(MKDIR) $(TMP_PATH)$(SL)qt_$(1)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
184 @$(MKDIR) $(TMP_PATH)$(SL)$(1)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
185 ## End. mkdir
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
186 ## Build d part.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
187 ifeq ($(NOT_SEPARATE_D_OBJ), true)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
188 ## DMD compile template bug fix
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
189 $(1)_D_RULE =$(TMP_PATH)/$(1)_dobj.$(D_OBJ_EXT)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
190 $$($(1)_D_RULE):
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
191 $(DC) $(D_CFLAGS) $(D_INCLUDE) -c $$($(1)_d_files) -of$$($(1)_D_RULE)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
192 else
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
193 $(1)_D_RULE = $$($(1)_d_files:qt/%.d=$(TMP_PATH)/%_d.o)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
194 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
195 ## End. Build d part.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
196 ## Build cpp part.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
197 ifeq ($(CPP_SHARED), true)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
198 ifeq ($(SYSTEM), windows)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
199 $(1)_CPP_DYN_LIB = $(OUTPUT_PATH)$(SL)$(LIB_PREFIX)$(NAME_PREFIX)$(1)$(LIB_POSTFIX).$(DYN_LIB_EXT)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
200 $$($(1)_CPP_DYN_LIB): $$($(1)_cpp_obj_files)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
201 $(CC) $(CC_LFLAGS) -shared $$($(1)_cpp_obj_files) -o $$($(1)_CPP_DYN_LIB) $(CC_LIB_PATH:%=-L%) -l$(qt_$(1)_lib_name) $$($(1)_link_cpp:%=-l%) -Wl,--out-implib,$(TMP_PATH)\$(LIB_PREFIX)$(NAME_PREFIX)$(1)_cpp.a
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
202 $(1)_CPP_RULE = $(TMP_PATH)\cpp_$(1).$(LIB_EXT)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
203 $$($(1)_CPP_RULE): $$($(1)_CPP_DYN_LIB)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
204 $(IMPLIB) $$($(1)_CPP_RULE) $$($(1)_CPP_DYN_LIB)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
205 else ## CPP_SHARED != true
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
206 $(1)_CPP_RULE = $(OUTPUT_PATH)$(SL)$(LIB_PREFIX)$(NAME_PREFIX)$(1)$(LIB_POSTFIX).$(DYN_LIB_EXT)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
207 $$($(1)_CPP_RULE): $$($(1)_cpp_obj_files)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
208 $(CC) $(CC_LFLAGS) $(QTDIR_LIB)/$(LIB_PREFIX)$(qt_$(1)_name).$(DYN_LIB_EXT) $$($(1)_link_cpp:%=-l%) $$($(1)_cpp_obj_files) -o $$($(1)_CPP_RULE)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
209 endif ## CPP_SHARED
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
210 DELETE_FILES += $$($(1)_CPP_DYN_LIB) $$($(1)_cpp_obj_files) $(TMP_PATH)\$(LIB_PREFIX)$(NAME_PREFIX)$(1)_cpp.a
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
211 else
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
212 $(1)_CPP_RULE = $$($(1)_cpp_obj_files)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
213 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
214 ## End. Build cpp part.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
215
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
216 DELETE_FILES += $$($(1)_D_RULE) $$($(1)_CPP_RULE) $(OUTPUT_PATH)/$(LIB_PREFIX)$$(qt_$(1)_name)D.$(LIB_EXT)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
217 ## Implib link.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
218 $(1)_LIB = $(OUTPUT_PATH)$(SL)$(LIB_PREFIX)$(NAME_PREFIX)$(1)$(LIB_POSTFIX).$(LIB_EXT)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
219 ifeq ($(DMD_WIN), true)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
220 $$($(1)_LIB): $$($(1)_D_RULE) $$($(1)_CPP_RULE)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
221 $(DC) $$($(1)_D_RULE) $$($(1)_CPP_RULE) $(D_LIB_PATH:%=-L-L%) $$($(1)_link_d:%=-L-l%) -lib -of$$($(1)_LIB)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
222 else
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
223 $$($(1)_LIB): $$($(1)_D_RULE) $$($(1)_CPP_RULE)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
224 $(AR) rcs $$($(1)_LIB) $$($(1)_D_RULE) $$($(1)_CPP_RULE)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
225 endif
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
226 # End. Implib link.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
227 $(1): mkdir_$(1) $$($(1)_LIB)
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
228 endef
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
229 $(foreach package,$(PACKAGES),$(eval $(call BUILD_template,$(package))))
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
230 ## End. Build package.
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
231
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
232 clean:
d80396e54c93 restore overwritten makefile
eldar
parents: 270
diff changeset
233 @$(RM) $(DELETE_FILES)