annotate Makefile @ 328:9327c7cca8f5 signals

todo file as we don't use bugzilla a lot.
author eldar1@eldar1-laptop
date Sun, 03 Jan 2010 12:40:51 +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)