annotate Makefile @ 114:547cd31fa12a

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