VirtualBox

source: kBuild/trunk/src/gmake/Makefile.kmk@ 541

Last change on this file since 541 was 541, checked in by bird, 18 years ago

Another quoting test.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.6 KB
Line 
1# $Id: Makefile.kmk 541 2006-09-19 05:52:02Z bird $
2
3
4#
5# kmk
6#
7PROGRAMS += kmk
8
9kmk_TEMPLATE = BIN
10kmk_DEPS = $(PATH_TARGET)/config.h
11kmk_INCS = $(PATH_TARGET) .
12#kmk_INCS.win32 = kmkbuiltin/w32
13
14kmk_DEFS = \
15 HAVE_CONFIG_H \
16 NO_ARCHIVES \
17 CONFIG_NO_DEFAULT_SUFFIXES \
18 CONFIG_NO_DEFAULT_PATTERN_RULES \
19 CONFIG_NO_DEFAULT_TERMINAL_RULES \
20 CONFIG_NO_DEFAULT_SUFFIX_RULES \
21 CONFIG_NO_DEFAULT_VARIABLES \
22 CONFIG_WITH_EXTENDED_NOTPARALLEL \
23 CONFIG_WITH_INCLUDEDEP \
24 CONFIG_WITH_TOUPPER_TOLOWER \
25 KMK \
26 \
27 KMK_HELPERS \
28 VARIABLE_HASH \
29 CONFIG_WITH_OPTIMIZATION_HACKS \
30 CONFIG_WITH_VALUE_LENGTH \
31 CONFIG_WITH_COMPARE
32
33kmk_SOURCES = \
34 main.c \
35 read.c \
36 hash.c \
37 strcache.c \
38 variable.c \
39 ar.c \
40 arscan.c \
41 commands.c \
42 default.c \
43 dir.c \
44 expand.c \
45 file.c \
46 function.c \
47 implicit.c \
48 job.c \
49 misc.c \
50 remake.c \
51 rule.c \
52 signame.c \
53 version.c \
54 vpath.c \
55 remote-stub.c \
56 kbuild.c
57
58kmk_SOURCES.win32 = \
59 getopt.c \
60 getopt1.c \
61 getloadavg.c \
62 w32/subproc/misc.c \
63 w32/subproc/sub_proc.c \
64 w32/subproc/w32err.c \
65 glob/glob.c \
66 glob/fnmatch.c \
67 w32/compat/dirent.c \
68 w32/pathstuff.c
69
70kmk_SOURCES.freebsd = \
71 glob/glob.c \
72 glob/fnmatch.c
73
74#
75# kmkbuiltin commands
76#
77kmk_DEFS += CONFIG_WITH_KMK_BUILTIN
78kmk_SOURCES += \
79 kmkbuiltin.c \
80 kmkbuiltin/append.c \
81 kmkbuiltin/cp.c \
82 kmkbuiltin/cp_utils.c \
83 kmkbuiltin/echo.c \
84 kmkbuiltin/install.c \
85 kmkbuiltin/mkdir.c \
86 kmkbuiltin/ln.c \
87 kmkbuiltin/rm.c \
88 \
89 kmkbuiltin/err.c \
90 kmkbuiltin/setmode.c \
91 kmkbuiltin/strmode.c \
92 kmkbuiltin/strlcpy.c
93
94kmk_SOURCES.win32 += \
95 kmkbuiltin/mscfakes.c \
96 kmkbuiltin/fts.c
97
98
99#
100# Standalone kmkbuiltin commands.
101#
102PROGRAMS += kmk_append kmk_cp kmk_echo kmk_mkdir kmk_install kmk_ln kmk_rm
103
104kmk_append_TEMPLATE = BIN
105kmk_append_DEFS = kmk_builtin_append=main
106kmk_append_INCS = .
107kmk_append_SOURCES = \
108 kmkbuiltin/append.c \
109 kmkbuiltin/err.c
110
111kmk_cp_TEMPLATE = BIN
112kmk_cp_DEFS = kmk_builtin_cp=main
113kmk_cp_SOURCES = \
114 kmkbuiltin/cp.c \
115 kmkbuiltin/cp_utils.c \
116 kmkbuiltin/strlcpy.c \
117 kmkbuiltin/err.c
118kmk_cp_INCS.win32 = $(PATH_TARGET) .
119kmk_cp_DEFS.win32 = HAVE_CONFIG_H
120kmk_cp_SOURCES.win32 = \
121 kmkbuiltin/mscfakes.c \
122 kmkbuiltin/fts.c \
123 w32/compat/dirent.c \
124 getopt.c \
125 getopt1.c
126
127kmk_echo_TEMPLATE = BIN
128kmk_echo_DEFS = kmk_builtin_echo=main
129kmk_echo_SOURCES = \
130 kmkbuiltin/echo.c
131kmk_echo_SOURCES.win32 = \
132 kmkbuiltin/mscfakes.c \
133 kmkbuiltin/err.c
134
135kmk_install_TEMPLATE = BIN
136kmk_install_DEFS = kmk_builtin_install=main
137kmk_install_SOURCES = \
138 kmkbuiltin/install.c \
139 kmkbuiltin/err.c \
140 kmkbuiltin/strmode.c \
141 kmkbuiltin/setmode.c
142kmk_install_INCS.win32 = $(PATH_TARGET) .
143kmk_install_DEFS.win32 = HAVE_CONFIG_H
144kmk_install_SOURCES.win32 = \
145 kmkbuiltin/mscfakes.c \
146 getopt.c \
147 getopt1.c
148
149kmk_ln_TEMPLATE = BIN
150kmk_ln_DEFS = kmk_builtin_ln=main
151kmk_ln_SOURCES = \
152 kmkbuiltin/ln.c \
153 kmkbuiltin/err.c
154kmk_ln_INCS.win32 = $(PATH_TARGET) .
155kmk_ln_DEFS.win32 = HAVE_CONFIG_H
156kmk_ln_SOURCES.win32 = \
157 kmkbuiltin/mscfakes.c\
158 getopt.c \
159 getopt1.c
160
161kmk_mkdir_TEMPLATE = BIN
162kmk_mkdir_DEFS = kmk_builtin_mkdir=main
163kmk_mkdir_SOURCES = \
164 kmkbuiltin/mkdir.c \
165 kmkbuiltin/err.c \
166 kmkbuiltin/setmode.c
167kmk_mkdir_INCS.win32 = $(PATH_TARGET) .
168kmk_mkdir_DEFS.win32 = HAVE_CONFIG_H
169kmk_mkdir_SOURCES.win32 = \
170 kmkbuiltin/mscfakes.c \
171 getopt.c \
172 getopt1.c
173
174kmk_rm_TEMPLATE = BIN
175kmk_rm_DEFS = kmk_builtin_rm=main
176kmk_rm_SOURCES = \
177 kmkbuiltin/rm.c \
178 kmkbuiltin/err.c \
179 kmkbuiltin/strmode.c
180kmk_rm_INCS.win32 = $(PATH_TARGET) .
181kmk_rm_DEFS.win32 = HAVE_CONFIG_H
182kmk_rm_SOURCES.win32 = \
183 kmkbuiltin/mscfakes.c\
184 getopt.c \
185 getopt1.c
186
187
188#
189# kmk_gmake - almost plain GNU Make.
190#
191PROGRAMS += kmk_gmake
192kmk_gmake_TEMPLATE = BIN
193kmk_gmake_DEPS = $(PATH_TARGET)/config.h
194kmk_gmake_INCS = $(PATH_TARGET) .
195
196kmk_gmake_DEFS = \
197 HAVE_CONFIG_H \
198 NO_ARCHIVES \
199 CONFIG_WITH_TOUPPER_TOLOWER
200
201kmk_gmake_SOURCES = \
202 main.c \
203 read.c \
204 hash.c \
205 strcache.c \
206 variable.c \
207 ar.c \
208 arscan.c \
209 commands.c \
210 default.c \
211 dir.c \
212 expand.c \
213 file.c \
214 function.c \
215 implicit.c \
216 job.c \
217 misc.c \
218 remake.c \
219 rule.c \
220 signame.c \
221 version.c \
222 vpath.c \
223 remote-stub.c
224
225kmk_gmake_SOURCES.win32 = \
226 getopt.c \
227 getopt1.c \
228 getloadavg.c \
229 w32/subproc/misc.c \
230 w32/subproc/sub_proc.c \
231 w32/subproc/w32err.c \
232 glob/glob.c \
233 glob/fnmatch.c \
234 w32/compat/dirent.c \
235 w32/pathstuff.c
236
237kmk_gmake_SOURCES.freebsd = \
238 glob/glob.c \
239 glob/fnmatch.c
240
241
242
243DEPTH = ../..
244include $(PATH_KBUILD)/rules.kmk
245
246
247#
248# Use checked in config.h instead of running ./Configure for it.
249#
250config.h.$(BUILD_TARGET) := config.h.$(BUILD_TARGET)
251config.h.win := config.h.W32
252config.h.win32 := config.h.W32
253config.h.win64 := config.h.W32
254config.h.nt := config.h.W32
255
256$(PATH_TARGET)/config.h: $(config.h.$(BUILD_TARGET))
257 $(MKDIR) -p $(dir $@)
258 $(CP) $^ $@
259
260
261#
262# Some tests.
263#
264parallel: parallel_1 parallel_2 parallel_3 parallel_4 parallel_5
265parallel_1 parallel_2 parallel_3 parallel_4 parallel_5:
266 echo $@_start ; sleep 1; echo $@_done
267
268test:
269 echo "1"
270 echo "2"
271 echo "3"
272 echo "4"
273
274
275#
276# Shell execution tests.
277#
278test_shell: test_shell_quoting test_shell_newline
279
280# shell double and single quoting check (was busted on windows in 3.81).
281test_shell_quoting:
282 $(ECHO_EXT) "double quoted sTrInG"
283 $(ECHO_EXT) "double quoted sTrInG" | $(SED_EXT) -e "s/sTrInG/string/g"
284 $(ECHO_EXT) 'single quoted sTrInG' | $(SED_EXT) -e 's/sTrInG/string/g'
285 $(ECHO) "This string should not be printed with double quotes."
286 $(ECHO) 'This string should not be printed with single quotes.'
287 ( echo " #define PWD \"`pwd`\""; )
288
289# when using batch mode shell, the newline got escaped twice and spoiling everything.
290test_shell_newline:
291 $(ECHO_EXT) "foo foo foo" | $(SED_EXT) -e \
292 's/foo/$@/' -e \
293 's/foo/works/' \
294 -e 's/foo/\!/'
295
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette