testing reveals that source rect must be constrained to the boundaries of the source...
[reactos.git] / reactos / Makefile
1 # $Id: Makefile,v 1.269 2004/12/11 17:53:11 blight Exp $
2 #
3 # Global makefile
4 #
5
6 PATH_TO_TOP = .
7
8 include $(PATH_TO_TOP)/rules.mak
9
10 ifeq ($(VERBOSE),no)
11 HALFVERBOSEECHO = @:
12 else
13 ifeq ($(VERBOSE),yes)
14 HALFVERBOSEECHO = @:
15 else
16 HALFVERBOSEECHO = @echo
17 endif
18 endif
19
20 #
21 # Define to build ReactOS external targets
22 #
23 ifeq ($(ROS_BUILD_EXT),)
24 ROS_BUILD_EXT = no
25 else
26 ROS_BUILD_EXT = yes
27 endif
28
29 ifneq ($(MINIMALDEPENDENCIES),no)
30 IMPLIB =
31 else
32 IMPLIB = implib
33 endif
34
35 # Required to run the system
36 COMPONENTS = ntoskrnl
37
38 # Hardware Abstraction Layers
39 # halx86
40 HALS = halx86/up halx86/mp
41
42 # Bus drivers
43 # acpi isapnp pci
44 BUS = acpi isapnp pci
45
46 # Filesystem libraries
47 # vfatlib
48 LIB_FSLIB = vfatlib
49
50 # Static libraries
51 LIB_STATIC = string rosrtl epsapi uuid libwine zlib rtl tgetopt pseh adns dxguid
52
53 # Keyboard layout libraries
54 DLLS_KBD = kbdda kbddv kbdfr kbdgr kbdse kbduk kbdus
55
56 # Control Panels
57 DLLS_CPL = cpl
58
59 # Shell extensions
60 DLLS_SHELLEXT = shellext
61
62 # User mode libraries
63 # libpcap packet epsapi
64 DLLS = acledit aclui advapi32 advpack cabinet cards comctl32 crtdll comdlg32 d3d8thk expat fmifs freetype \
65 gdi32 gdiplus glu32 hid imagehlp imm32 iphlpapi kernel32 lzexpand mesa32 midimap mmdrv mpr msacm msafd \
66 msgina msimg32 msvcrt20 msvideo mswsock netapi32 ntdll ole32 oleaut32 oledlg opengl32 packet psapi \
67 riched20 richedit rpcrt4 samlib secur32 setupapi shell32 shlwapi snmpapi syssetup twain unicode user32 \
68 userenv version wininet winmm winspool ws2help ws2_32 wsock32 wshirda \
69 dnsapi dinput dinput8 dsound \
70 $(DLLS_KBD) $(DLLS_CPL) $(DLLS_SHELLEXT)
71
72 SUBSYS = smss win32k csrss ntvdm
73
74 #
75 # Select the server(s) you want to build
76 #
77 #SERVERS = posix linux os2
78 SERVERS = win32
79
80 # Driver support libraries
81 #bzip2 zlib oskittcp
82 DRIVERS_LIB = bzip2 oskittcp ip csq
83
84 # Kernel mode device drivers
85 # Obsolete: ide
86 # beep blue floppy null parallel ramdrv serenum serial
87 DEVICE_DRIVERS = beep blue debugout null serial bootvid
88
89 # Kernel mode input drivers
90 INPUT_DRIVERS = keyboard mouclass psaux sermouse
91
92 # Kernel mode file system drivers
93 # cdfs ext2 fs_rec ms np vfat
94 FS_DRIVERS = cdfs fs_rec ms np vfat mup ntfs
95
96 # Kernel mode networking drivers
97 # afd ndis npf tcpip tdi wshtcpip
98 NET_DRIVERS = afd ndis npf tcpip tdi wshtcpip
99
100 # Kernel mode networking device drivers
101 # ne2000 pcnet
102 NET_DEVICE_DRIVERS = ne2000 pcnet
103
104 # Kernel mode storage drivers
105 # atapi cdrom class2 disk scsiport
106 STORAGE_DRIVERS = atapi cdrom class2 disk floppy scsiport diskdump
107
108 # System applications
109 # autochk cmd format services setup usetup welcome winlogon msiexec
110 SYS_APPS = autochk calc cmd explorer expand format regedt32 regsvr32 \
111 services setup taskmgr userinit usetup welcome vmwinst winlogon \
112 regedit winefile
113
114 # System services
115 # rpcss eventlog
116 SYS_SVC = rpcss eventlog
117
118 APPS = testsets utils
119
120
121 # External modules and (sub)systems for ReactOS
122 # rosapps posix os2 (requires c++) java (non-existant)
123 EXTERNALS = rosapps
124
125 ifeq ($(ROS_BUILD_EXT),yes)
126 EXT_MODULES = $(EXTERNALS)
127 else
128 EXT_MODULES =
129 endif
130
131 KERNEL_DRIVERS = $(DRIVERS_LIB) $(DEVICE_DRIVERS) $(INPUT_DRIVERS) $(FS_DRIVERS) \
132 $(NET_DRIVERS) $(NET_DEVICE_DRIVERS) $(STORAGE_DRIVERS) VIDEO_DRIVERS
133
134 # Regression tests
135 REGTESTS = regtests
136
137 all: bootstrap $(COMPONENTS) $(REGTESTS) $(HALS) $(BUS) $(LIB_FSLIB) $(DLLS) $(SUBSYS) \
138 $(KERNEL_DRIVERS) $(SYS_APPS) $(SYS_SVC) \
139 $(APPS) $(EXT_MODULES)
140
141 bootstrap: dk implib iface_native iface_additional
142
143 #config: $(TOOLS:%=%_config)
144
145 depends: $(LIB_STATIC:%=%_depends) $(LIB_FSLIB:%=%_depends) msvcrt_depends $(DLLS:%=%_depends) \
146 $(SUBSYS:%=%_depends) $(SYS_SVC:%=%_depends) \
147 $(EXT_MODULES:%=%_depends) $(POSIX_LIBS:%=%_depends)
148
149 implib: hallib $(LIB_STATIC) $(COMPONENTS:%=%_implib) $(HALS:%=%_implib) $(BUS:%=%_implib) \
150 $(LIB_STATIC:%=%_implib) $(LIB_FSLIB:%=%_implib) msvcrt_implib $(DLLS:%=%_implib) \
151 $(KERNEL_DRIVERS:%=%_implib) $(SUBSYS:%=%_implib) \
152 $(SYS_APPS:%=%_implib) $(SYS_SVC:%=%_implib) $(EXT_MODULES:%=%_implib) \
153 $(REGTESTS:%=%_implib)
154
155 test: $(COMPONENTS:%=%_test) $(HALS:%=%_test) $(BUS:%=%_test) \
156 $(LIB_STATIC:%=%_test) $(LIB_FSLIB:%=%_test) msvcrt_test $(DLLS:%=%_test) \
157 $(KERNEL_DRIVERS:%=%_test) $(SUBSYS:%=%_test) \
158 $(SYS_SVC:%=%_test) $(EXT_MODULES:%=%_test)
159
160 clean: tools dk_clean iface_native_clean iface_additional_clean hallib_clean \
161 $(HALS:%=%_clean) $(COMPONENTS:%=%_clean) $(BUS:%=%_clean) \
162 $(LIB_STATIC:%=%_clean) $(LIB_FSLIB:%=%_clean) msvcrt_clean \
163 $(DLLS:%=%_clean) $(KERNEL_DRIVERS:%=%_clean) \
164 $(SUBSYS:%=%_clean) $(SYS_APPS:%=%_clean) $(SYS_SVC:%=%_clean) \
165 $(NET_APPS:%=%_clean) $(APPS:%=%_clean) $(EXT_MODULES:%=%_clean) \
166 $(REGTESTS:%=%_clean) clean_after tools_clean
167
168 clean_after:
169 $(HALFVERBOSEECHO) [RM] /include/roscfg.h
170 $(RM) $(PATH_TO_TOP)/include/roscfg.h
171
172 fastinstall: tools install_dirs install_before \
173 $(COMPONENTS:%=%_install) $(HALS:%=%_install) $(BUS:%=%_install) \
174 $(LIB_STATIC:%=%_install) $(LIB_FSLIB:%=%_install) msvcrt_install $(DLLS:%=%_install) \
175 $(KERNEL_DRIVERS:%=%_install) $(SUBSYS:%=%_install) \
176 $(SYS_APPS:%=%_install) $(SYS_SVC:%=%_install) \
177 $(APPS:%=%_install) $(EXT_MODULES:%=%_install) $(REGTESTS:%=%_install)
178 install: fastinstall registry
179
180 FREELDR_DIR = ../freeldr
181
182 freeldr:
183 $(MAKE) -C $(FREELDR_DIR)
184
185 bootcd_directory_layout:
186 $(HALFVERBOSEECHO) [RMKDIR] $(BOOTCD_DIR)
187 $(RMKDIR) $(BOOTCD_DIR)
188 $(HALFVERBOSEECHO) [RMKDIR] $(BOOTCD_DIR)/bootdisk
189 $(RMKDIR) $(BOOTCD_DIR)/bootdisk
190 $(HALFVERBOSEECHO) [RMKDIR] $(BOOTCD_DIR)/loader
191 $(RMKDIR) $(BOOTCD_DIR)/loader
192 $(HALFVERBOSEECHO) [RMKDIR] $(BOOTCD_DIR)/reactos
193 $(RMKDIR) $(BOOTCD_DIR)/reactos
194 $(HALFVERBOSEECHO) [RMKDIR] $(BOOTCD_DIR)/reactos/system32
195 $(RMKDIR) $(BOOTCD_DIR)/reactos/system32
196 $(HALFVERBOSEECHO) [COPY] ${FREELDR_DIR}/bootsect/isoboot.bin to ${BOOTCD_DIR}/../isoboot.bin
197 $(CP) ${FREELDR_DIR}/bootsect/isoboot.bin ${BOOTCD_DIR}/../isoboot.bin
198 $(HALFVERBOSEECHO) [COPY] ${FREELDR_DIR}/bootsect/dosmbr.bin to ${BOOTCD_DIR}/loader/dosmbr.bin
199 $(CP) ${FREELDR_DIR}/bootsect/dosmbr.bin ${BOOTCD_DIR}/loader/dosmbr.bin
200 $(HALFVERBOSEECHO) [COPY] ${FREELDR_DIR}/bootsect/ext2.bin to ${BOOTCD_DIR}/loader/ext2.bin
201 $(CP) ${FREELDR_DIR}/bootsect/ext2.bin ${BOOTCD_DIR}/loader/ext2.bin
202 $(HALFVERBOSEECHO) [COPY] ${FREELDR_DIR}/bootsect/fat.bin to ${BOOTCD_DIR}/loader/fat.bin
203 $(CP) ${FREELDR_DIR}/bootsect/fat.bin ${BOOTCD_DIR}/loader/fat.bin
204 $(HALFVERBOSEECHO) [COPY] ${FREELDR_DIR}/bootsect/fat32.bin to ${BOOTCD_DIR}/loader/fat32.bin
205 $(CP) ${FREELDR_DIR}/bootsect/fat32.bin ${BOOTCD_DIR}/loader/fat32.bin
206 $(HALFVERBOSEECHO) [COPY] ${FREELDR_DIR}/bootsect/isoboot.bin to ${BOOTCD_DIR}/loader/isoboot.bin
207 $(CP) ${FREELDR_DIR}/bootsect/isoboot.bin ${BOOTCD_DIR}/loader/isoboot.bin
208 $(HALFVERBOSEECHO) [COPY] ${FREELDR_DIR}/freeldr/obj/i386/freeldr.sys to ${BOOTCD_DIR}/loader/freeldr.sys
209 $(CP) ${FREELDR_DIR}/freeldr/obj/i386/freeldr.sys ${BOOTCD_DIR}/loader/freeldr.sys
210 $(HALFVERBOSEECHO) [COPY] ${FREELDR_DIR}/freeldr/obj/i386/setupldr.sys to ${BOOTCD_DIR}/loader/setupldr.sys
211 $(CP) ${FREELDR_DIR}/freeldr/obj/i386/setupldr.sys ${BOOTCD_DIR}/loader/setupldr.sys
212
213 bootcd_bootstrap_files: $(COMPONENTS:%=%_bootcd) $(HALS:%=%_bootcd) $(BUS:%=%_bootcd) \
214 $(LIB_STATIC:%=%_bootcd) $(LIB_FSLIB:%=%_bootcd) msvcrt_bootcd $(DLLS:%=%_bootcd) \
215 $(KERNEL_DRIVERS:%=%_bootcd) $(SUBSYS:%=%_bootcd) $(SYS_APPS:%=%_bootcd)
216
217 bootcd_install_before:
218 $(HALFVERBOSEECHO) [RLINE] bootdata/autorun.inf to $(BOOTCD_DIR)/autorun.inf
219 $(RLINE) bootdata/autorun.inf $(BOOTCD_DIR)/autorun.inf
220 $(HALFVERBOSEECHO) [RLINE] bootdata/readme.txt to $(BOOTCD_DIR)/readme.txt
221 $(RLINE) bootdata/readme.txt $(BOOTCD_DIR)/readme.txt
222 $(HALFVERBOSEECHO) [RLINE] bootdata/hivecls.inf to $(BOOTCD_DIR)/reactos/hivecls.inf
223 $(RLINE) bootdata/hivecls.inf $(BOOTCD_DIR)/reactos/hivecls.inf
224 $(HALFVERBOSEECHO) [RLINE] bootdata/hivedef.inf to $(BOOTCD_DIR)/reactos/hivedef.inf
225 $(RLINE) bootdata/hivedef.inf $(BOOTCD_DIR)/reactos/hivedef.inf
226 $(HALFVERBOSEECHO) [RLINE] bootdata/hivesft.inf to $(BOOTCD_DIR)/reactos/hivesft.inf
227 $(RLINE) bootdata/hivesft.inf $(BOOTCD_DIR)/reactos/hivesft.inf
228 $(HALFVERBOSEECHO) [RLINE] bootdata/hivesys.inf to $(BOOTCD_DIR)/reactos/hivesys.inf
229 $(RLINE) bootdata/hivesys.inf $(BOOTCD_DIR)/reactos/hivesys.inf
230 $(HALFVERBOSEECHO) [RLINE] bootdata/txtsetup.sif to $(BOOTCD_DIR)/reactos/txtsetup.sif
231 $(RLINE) bootdata/txtsetup.sif $(BOOTCD_DIR)/reactos/txtsetup.sif
232 $(HALFVERBOSEECHO) [COPY] bootdata/icon.ico to $(BOOTCD_DIR)/icon.ico
233 $(CP) bootdata/icon.ico $(BOOTCD_DIR)/icon.ico
234 $(HALFVERBOSEECHO) [COPY] subsys/system/welcome/welcome.exe to $(BOOTCD_DIR)/reactos/welcome.exe
235 $(CP) subsys/system/welcome/welcome.exe $(BOOTCD_DIR)/reactos/welcome.exe
236 $(HALFVERBOSEECHO) [COPY] media/nls/c_1252.nls to $(BOOTCD_DIR)/reactos/c_1252.nls
237 $(CP) media/nls/c_1252.nls $(BOOTCD_DIR)/reactos/c_1252.nls
238 $(HALFVERBOSEECHO) [COPY] media/nls/c_437.nls to $(BOOTCD_DIR)/reactos/c_437.nls
239 $(CP) media/nls/c_437.nls $(BOOTCD_DIR)/reactos/c_437.nls
240 $(HALFVERBOSEECHO) [COPY] media/nls/l_intl.nls to $(BOOTCD_DIR)/reactos/l_intl.nls
241 $(CP) media/nls/l_intl.nls $(BOOTCD_DIR)/reactos/l_intl.nls
242 $(HALFVERBOSEECHO) [COPY] media/drivers/etc/services to $(BOOTCD_DIR)/reactos/services
243 $(CP) media/drivers/etc/services $(BOOTCD_DIR)/reactos/services
244
245 bootcd_basic: bootcd_directory_layout bootcd_bootstrap_files bootcd_install_before
246
247 bootcd_makecd:
248 $(CABMAN) /C bootdata/packages/reactos.dff /L $(BOOTCD_DIR)/reactos /I
249 $(CABMAN) /C bootdata/packages/reactos.dff /RC $(BOOTCD_DIR)/reactos/reactos.inf /L $(BOOTCD_DIR)/reactos /N
250 - $(RM) $(BOOTCD_DIR)/reactos/reactos.inf
251 $(HALFVERBOSEECHO) [CDMAKE] ReactOS.iso
252 $(CDMAKE) -v -m -b $(BOOTCD_DIR)/../isoboot.bin $(BOOTCD_DIR) REACTOS ReactOS.iso
253
254 ubootcd_unattend:
255 $(HALFVERBOSEECHO) [COPY] bootdata/unattend.inf to $(BOOTCD_DIR)/reactos/unattend.inf
256 $(CP) bootdata/unattend.inf $(BOOTCD_DIR)/reactos/unattend.inf
257
258 livecd_directory_layout:
259 $(HALFVERBOSEECHO) [RMKDIR] $(LIVECD_DIR)
260 $(RMKDIR) $(LIVECD_DIR)
261 $(HALFVERBOSEECHO) [RMKDIR] $(LIVECD_DIR)/loader
262 $(RMKDIR) $(LIVECD_DIR)/loader
263 $(HALFVERBOSEECHO) [RMKDIR] $(LIVECD_DIR)/reactos
264 $(RMKDIR) $(LIVECD_DIR)/reactos
265 $(HALFVERBOSEECHO) [RMKDIR] $(LIVECD_DIR)/Profiles/All\ Users/Desktop
266 $(RMKDIR) $(LIVECD_DIR)/Profiles/All\ Users/Desktop
267 $(HALFVERBOSEECHO) [RMKDIR] $(LIVECD_DIR)/Profiles/Default\ User/Desktop
268 $(RMKDIR) $(LIVECD_DIR)/Profiles/Default\ User/Desktop
269 $(HALFVERBOSEECHO) [RMKDIR] $(LIVECD_DIR)/Profiles/Default\ User/My\ Documents
270 $(RMKDIR) $(LIVECD_DIR)/Profiles/Default\ User/My\ Documents
271 $(HALFVERBOSEECHO) [COPY] ${FREELDR_DIR}/bootsect/isoboot.bin to ${LIVECD_DIR}/../isoboot.bin
272 $(CP) ${FREELDR_DIR}/bootsect/isoboot.bin ${LIVECD_DIR}/../isoboot.bin
273 $(HALFVERBOSEECHO) [COPY] ${FREELDR_DIR}/freeldr/obj/i386/freeldr.sys to ${LIVECD_DIR}/loader/setupldr.sys
274 $(CP) ${FREELDR_DIR}/freeldr/obj/i386/freeldr.sys ${LIVECD_DIR}/loader/setupldr.sys
275 $(HALFVERBOSEECHO) [RLINE] bootdata/livecd.ini to $(LIVECD_DIR)/freeldr.ini
276 $(RLINE) bootdata/livecd.ini $(LIVECD_DIR)/freeldr.ini
277
278 livecd_bootstrap_files:
279 $(MAKE) LIVECD_INSTALL=yes fastinstall
280
281 livecd_install_before:
282 $(MKHIVE) bootdata $(LIVECD_DIR)/reactos/system32/config bootdata/livecd.inf bootdata/hiveinst.inf
283
284 livecd_basic: livecd_directory_layout livecd_bootstrap_files livecd_install_before
285
286 livecd_makecd:
287 $(HALFVERBOSEECHO) [CDMAKE] roslive.iso
288 $(CDMAKE) -m -j -b $(LIVECD_DIR)/../isoboot.bin $(LIVECD_DIR) REACTOS roslive.iso
289
290 bootcd: bootcd_basic bootcd_makecd
291
292 ubootcd: bootcd_basic ubootcd_unattend bootcd_makecd
293
294 livecd: livecd_basic livecd_makecd
295
296 registry: tools
297 $(MKHIVE) bootdata $(INSTALL_DIR)/system32/config bootdata/hiveinst.inf
298
299 .PHONY: all bootstrap depends implib test clean clean_before install freeldr bootcd_directory_layout \
300 bootcd_bootstrap_files bootcd_install_before bootcd_basic bootcd_makecd ubootcd_unattend bootcd
301
302
303 $(COMPONENTS): dk
304
305 #
306 # System Applications
307 #
308 $(SYS_APPS): %: $(IMPLIB)
309 $(MAKE) -C subsys/system/$*
310
311 $(SYS_APPS:%=%_implib): %_implib: dk
312 $(MAKE) --silent -C subsys/system/$* implib
313
314 $(SYS_APPS:%=%_test): %_test:
315 $(MAKE) -C subsys/system/$* test
316
317 $(SYS_APPS:%=%_clean): %_clean:
318 $(MAKE) -C subsys/system/$* clean
319
320 $(SYS_APPS:%=%_install): %_install:
321 $(MAKE) -C subsys/system/$* install
322
323 $(SYS_APPS:%=%_bootcd): %_bootcd:
324 $(MAKE) -C subsys/system/$* bootcd
325
326 .PHONY: $(SYS_APPS) $(SYS_APPS:%=%_implib) $(SYS_APPS:%=%_test) \
327 $(SYS_APPS:%=%_clean) $(SYS_APPS:%=%_install) $(SYS_APPS:%=%_bootcd)
328
329 #
330 # System Services
331 #
332 $(SYS_SVC): %: $(IMPLIB)
333 $(MAKE) -C services/$*
334
335 $(SYS_SVC:%=%_depends): %_depends:
336 $(MAKE) -C services/$* depends
337
338 $(SYS_SVC:%=%_implib): %_implib: dk
339 $(MAKE) --silent -C services/$* implib
340
341 $(SYS_SVC:%=%_test): %_test:
342 $(MAKE) -C services/$* test
343
344 $(SYS_SVC:%=%_clean): %_clean:
345 $(MAKE) -C services/$* clean
346
347 $(SYS_SVC:%=%_install): %_install:
348 $(MAKE) -C services/$* install
349
350 .PHONY: $(SYS_SVC) $(SYS_SVC:%=%_depends) $(SYS_SVC:%=%_implib) \
351 $(SYS_SVC:%=%_test) $(SYS_SVC:%=%_clean) $(SYS_SVC:%=%_install)
352
353
354 #
355 # Applications
356 #
357 #
358 # Extra (optional system) Applications
359 #
360 $(APPS): %: $(IMPLIB)
361 $(MAKE) -C apps/$*
362
363 # Not needed
364 # $(APPS:%=%_implib): %_implib: dk
365 # $(MAKE) --silent -C apps/$* implib
366
367 $(APPS:%=%_test): %_test:
368 $(MAKE) -C apps/$* test
369
370 $(APPS:%=%_clean): %_clean:
371 $(MAKE) -C apps/$* clean
372
373 $(APPS:%=%_install): %_install:
374 $(MAKE) -C apps/$* install
375
376 .PHONY: $(APPS) $(APPS:%=%_test) $(APPS:%=%_clean) $(APPS:%=%_install)
377
378
379 #
380 # External ports and subsystem personalities
381 #
382 $(EXTERNALS): %:
383 $(MAKE) -C $(ROOT_PATH)/$*
384
385 $(EXTERNALS:%=%_depends): %_depends:
386 $(MAKE) -C $(ROOT_PATH)/$* depends
387
388 $(EXTERNALS:%=%_implib): %_implib: dk
389 $(MAKE) --silent -C $(ROOT_PATH)/$* implib
390
391 $(EXTERNALS:%=%_clean): %_clean:
392 $(MAKE) -C $(ROOT_PATH)/$* clean
393
394 $(EXTERNALS:%=%_install): %_install:
395 $(MAKE) -C $(ROOT_PATH)/$* install
396
397 .PHONY: $(EXTERNALS) $(EXTERNALS:%=%_depends) $(EXTERNALS:%=%_implib) $(EXTERNALS:%=%_clean) $(EXTERNALS:%=%_install)
398
399
400 #
401 # Tools
402 #
403 tools:
404 $(MAKE) --silent -C tools
405
406 tools_implib:
407
408
409 tools_test:
410
411
412 tools_clean:
413 $(MAKE) -C tools clean
414
415 tools_install:
416
417 .PHONY: tools tools_implib tools_test tools_clean tools_install
418
419
420 #
421 # Developer Kits
422 #
423 dk: tools
424 @$(RMKDIR) $(DK_PATH)
425 @$(RMKDIR) $(DDK_PATH)
426 @$(RMKDIR) $(DDK_PATH_LIB)
427 @$(RMKDIR) $(DDK_PATH_INC)
428 @$(RMKDIR) $(SDK_PATH)
429 @$(RMKDIR) $(SDK_PATH_LIB)
430 @$(RMKDIR) $(SDK_PATH_INC)
431 @$(RMKDIR) $(XDK_PATH)
432 @$(RMKDIR) $(XDK_PATH_LIB)
433 # @$(RMKDIR) $(XDK_PATH_INC)
434
435 dk_implib:
436
437 # WARNING! Be very sure that there are no important files
438 # in these directories before cleaning them!!!
439 dk_clean:
440 $(HALFVERBOSEECHO) [RM] $(DDK_PATH_LIB)/*.a
441 $(RM) $(DDK_PATH_LIB)/*.a
442 # $(HALFVERBOSEECHO) [RM] $(DDK_PATH_INC)/*.h
443 # $(RM) $(DDK_PATH_INC)/*.h
444 $(HALFVERBOSEECHO) [RMDIR] $(DDK_PATH_LIB)
445 $(RMDIR) $(DDK_PATH_LIB)
446 # $(HALFVERBOSEECHO) [RMDIR] $(DDK_PATH_INC)
447 # $(RMDIR) $(DDK_PATH_INC)
448 $(HALFVERBOSEECHO) [RM] $(SDK_PATH_LIB)/*.a
449 $(RM) $(SDK_PATH_LIB)/*.a
450 # $(HALFVERBOSEECHO) [RM] $(SDK_PATH_INC)/*.h
451 # $(RM) $(SDK_PATH_INC)/*.h
452 $(HALFVERBOSEECHO) [RMDIR] $(SDK_PATH_LIB)
453 $(RMDIR) $(SDK_PATH_LIB)
454 # $(HALFVERBOSEECHO) [RMDIR] $(SDK_PATH_INC)
455 # $(RMDIR) $(SDK_PATH_INC)
456 $(HALFVERBOSEECHO) [RM] $(XDK_PATH_LIB)/*.a
457 $(RM) $(XDK_PATH_LIB)/*.a
458 # $(HALFVERBOSEECHO) [RM] $(XDK_PATH_INC)/*.h
459 # $(RM) $(XDK_PATH_INC)/*.h
460 $(HALFVERBOSEECHO) [RMDIR] $(XDK_PATH_LIB)
461 $(RMDIR) $(XDK_PATH_LIB)
462 # $(HALFVERBOSEECHO) [RMDIR] $(XDK_PATH_INC)
463 # $(RMDIR) $(XDK_PATH_INC)
464
465 dk_install:
466
467 .PHONY: dk dk_implib dk_clean dk_install
468
469
470 #
471 # Interfaces
472 #
473 iface_native:
474 $(MAKE) --silent -C iface/native
475
476 iface_native_implib:
477
478 iface_native_test:
479
480 iface_native_clean:
481 $(MAKE) --silent -C iface/native clean
482
483 iface_native_install:
484
485 iface_native_bootcd:
486
487 iface_additional:
488 $(MAKE) --silent -C iface/addsys
489
490 iface_additional_implib:
491
492 iface_additional_test:
493
494 iface_additional_clean:
495 $(MAKE) --silent -C iface/addsys clean
496
497 iface_additional_install:
498
499 iface_additional_bootcd:
500
501 .PHONY: iface_native iface_native_implib iface_native_test iface_native_clean \
502 iface_native_install iface_native_bootcd iface_additional \
503 iface_additional_implib iface_additional_test iface_additional_clean \
504 iface_additional_install iface_additional_bootcd
505
506
507 #
508 # Bus driver rules
509 #
510 $(BUS): %: $(IMPLIB)
511 $(MAKE) -C drivers/bus/$*
512
513 $(BUS:%=%_implib): %_implib: dk
514 $(MAKE) --silent -C drivers/bus/$* implib
515
516 $(BUS:%=%_test): %_test:
517 $(MAKE) -C drivers/bus/$* test
518
519 $(BUS:%=%_clean): %_clean:
520 $(MAKE) -C drivers/bus/$* clean
521
522 $(BUS:%=%_install): %_install:
523 $(MAKE) -C drivers/bus/$* install
524
525 $(BUS:%=%_bootcd): %_bootcd:
526 $(MAKE) -C drivers/bus/$* bootcd
527
528 .PHONY: $(BUS) $(BUS:%=%_implib) $(BUS:%=%_clean) \
529 $(BUS:%=%_install) $(BUS:%=%_bootcd)
530
531
532 #
533 # Driver support libraries rules
534 #
535 $(DRIVERS_LIB): %: $(IMPLIB)
536 $(MAKE) -C drivers/lib/$*
537
538 $(DRIVERS_LIB:%=%_implib): %_implib: dk
539 $(MAKE) --silent -C drivers/lib/$* implib
540
541 $(DRIVERS_LIB:%=%_test): %_test:
542 $(MAKE) -C drivers/lib/$* test
543
544 $(DRIVERS_LIB:%=%_clean): %_clean:
545 $(MAKE) -C drivers/lib/$* clean
546
547 $(DRIVERS_LIB:%=%_install): %_install:
548 $(MAKE) -C drivers/lib/$* install
549
550 $(DRIVERS_LIB:%=%_bootcd): %_bootcd:
551 $(MAKE) -C drivers/lib/$* bootcd
552
553 .PHONY: $(DRIVERS_LIB) $(DRIVERS_LIB:%=%_implib) $(DRIVERS_LIB:%=%_test) \
554 $(DRIVERS_LIB:%=%_clean) $(DRIVERS_LIB:%=%_install) $(DRIVERS_LIB:%=%_bootcd)
555
556
557 #
558 # Device driver rules
559 #
560 $(DEVICE_DRIVERS): %: $(IMPLIB)
561 $(MAKE) -C drivers/dd/$*
562
563 $(DEVICE_DRIVERS:%=%_implib): %_implib: dk
564 $(MAKE) --silent -C drivers/dd/$* implib
565
566 $(DEVICE_DRIVERS:%=%_test): %_test:
567 $(MAKE) -C drivers/dd/$* test
568
569 $(DEVICE_DRIVERS:%=%_clean): %_clean:
570 $(MAKE) -C drivers/dd/$* clean
571
572 $(DEVICE_DRIVERS:%=%_install): %_install:
573 $(MAKE) -C drivers/dd/$* install
574
575 $(DEVICE_DRIVERS:%=%_bootcd): %_bootcd:
576 $(MAKE) -C drivers/dd/$* bootcd
577
578 .PHONY: $(DEVICE_DRIVERS) $(DEVICE_DRIVERS:%=%_implib) $(DEVICE_DRIVERS:%=%_test) \
579 $(DEVICE_DRIVERS:%=%_clean) $(DEVICE_DRIVERS:%=%_install) $(DEVICE_DRIVERS:%=%_bootcd)
580
581
582 #
583 # Video device driver rules
584 #
585 VIDEO_DRIVERS: $(IMPLIB)
586 $(MAKE) -C drivers/video
587
588 VIDEO_DRIVERS_implib: dk
589 $(MAKE) --silent -C drivers/video implib
590
591 VIDEO_DRIVERS_test:
592 $(MAKE) -C drivers/video test
593
594 VIDEO_DRIVERS_clean:
595 $(MAKE) -C drivers/video clean
596
597 VIDEO_DRIVERS_install:
598 $(MAKE) -C drivers/video install
599
600 VIDEO_DRIVERS_bootcd:
601 $(MAKE) -C drivers/video bootcd
602
603 .PHONY: VIDEO_DRIVERS VIDEO_DRIVERS_implib VIDEO_DRIVERS_test\
604 VIDEO_DRIVERS_clean VIDEO_DRIVERS_install VIDEO_DRIVERS_bootcd
605
606
607 #
608 # Input driver rules
609 #
610 $(INPUT_DRIVERS): %: $(IMPLIB)
611 $(MAKE) -C drivers/input/$*
612
613 $(INPUT_DRIVERS:%=%_implib): %_implib: dk
614 $(MAKE) --silent -C drivers/input/$* implib
615
616 $(INPUT_DRIVERS:%=%_test): %_test:
617 $(MAKE) -C drivers/input/$* test
618
619 $(INPUT_DRIVERS:%=%_clean): %_clean:
620 $(MAKE) -C drivers/input/$* clean
621
622 $(INPUT_DRIVERS:%=%_install): %_install:
623 $(MAKE) -C drivers/input/$* install
624
625 $(INPUT_DRIVERS:%=%_bootcd): %_bootcd:
626 $(MAKE) -C drivers/input/$* bootcd
627
628 .PHONY: $(INPUT_DRIVERS) $(INPUT_DRIVERS:%=%_implib) $(INPUT_DRIVERS:%=%_test) \
629 $(INPUT_DRIVERS:%=%_clean) $(INPUT_DRIVERS:%=%_install) $(INPUT_DRIVERS:%=%_bootcd)
630
631 #
632 # Filesystem driver rules
633 #
634 $(FS_DRIVERS): %: $(IMPLIB)
635 $(MAKE) -C drivers/fs/$*
636
637 $(FS_DRIVERS:%=%_implib): %_implib: dk
638 $(MAKE) --silent -C drivers/fs/$* implib
639
640 $(FS_DRIVERS:%=%_test): %_test:
641 $(MAKE) -C drivers/fs/$* test
642
643 $(FS_DRIVERS:%=%_clean): %_clean:
644 $(MAKE) -C drivers/fs/$* clean
645
646 $(FS_DRIVERS:%=%_install): %_install:
647 $(MAKE) -C drivers/fs/$* install
648
649 $(FS_DRIVERS:%=%_bootcd): %_bootcd:
650 $(MAKE) -C drivers/fs/$* bootcd
651
652 .PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_implib) $(FS_DRIVERS:%=%_test) \
653 $(FS_DRIVERS:%=%_clean) $(FS_DRIVERS:%=%_install) $(FS_DRIVERS:%=%_bootcd)
654
655
656 #
657 # Network driver rules
658 #
659 $(NET_DRIVERS): %: $(IMPLIB)
660 $(MAKE) -C drivers/net/$*
661
662 $(NET_DRIVERS:%=%_implib): %_implib: dk
663 $(MAKE) --silent -C drivers/net/$* implib
664
665 $(NET_DRIVERS:%=%_test): %_test:
666 $(MAKE) -C drivers/net/$* test
667
668 $(NET_DRIVERS:%=%_clean): %_clean:
669 $(MAKE) -C drivers/net/$* clean
670
671 $(NET_DRIVERS:%=%_install): %_install:
672 $(MAKE) -C drivers/net/$* install
673
674 $(NET_DRIVERS:%=%_bootcd): %_bootcd:
675 $(MAKE) -C drivers/net/$* bootcd
676
677 .PHONY: $(NET_DRIVERS) $(NET_DRIVERS:%=%_implib) $(NET_DRIVERS:%=%_test) \
678 $(NET_DRIVERS:%=%_clean) $(NET_DRIVERS:%=%_install) $(NET_DRIVERS:%=%_bootcd)
679
680
681 #
682 # Network device driver rules
683 #
684 $(NET_DEVICE_DRIVERS): %: $(IMPLIB)
685 $(MAKE) -C drivers/net/dd/$*
686
687 $(NET_DEVICE_DRIVERS:%=%_implib): %_implib: dk
688 $(MAKE) --silent -C drivers/net/dd/$* implib
689
690 $(NET_DEVICE_DRIVERS:%=%_test): %_test:
691 $(MAKE) -C drivers/net/dd/$* test
692
693 $(NET_DEVICE_DRIVERS:%=%_clean): %_clean:
694 $(MAKE) -C drivers/net/dd/$* clean
695
696 $(NET_DEVICE_DRIVERS:%=%_install): %_install:
697 $(MAKE) -C drivers/net/dd/$* install
698
699 $(NET_DEVICE_DRIVERS:%=%_bootcd): %_bootcd:
700 $(MAKE) -C drivers/net/dd/$* bootcd
701
702 .PHONY: $(NET_DEVICE_DRIVERS) $(NET_DEVICE_DRIVERS:%=%_clean) \
703 $(NET_DEVICE_DRIVERS:%=%_implib) $(NET_DEVICE_DRIVERS:%=%_test) \
704 $(NET_DEVICE_DRIVERS:%=%_install) $(NET_DEVICE_DRIVERS:%=%_bootcd)
705
706
707 #
708 # storage driver rules
709 #
710 $(STORAGE_DRIVERS): %: $(IMPLIB)
711 $(MAKE) -C drivers/storage/$*
712
713 $(STORAGE_DRIVERS:%=%_implib): %_implib: dk
714 $(MAKE) --silent -C drivers/storage/$* implib
715
716 $(STORAGE_DRIVERS:%=%_test): %_test:
717 $(MAKE) -C drivers/storage/$* test
718
719 $(STORAGE_DRIVERS:%=%_clean): %_clean:
720 $(MAKE) -C drivers/storage/$* clean
721
722 $(STORAGE_DRIVERS:%=%_install): %_install:
723 $(MAKE) -C drivers/storage/$* install
724
725 $(STORAGE_DRIVERS:%=%_bootcd): %_bootcd:
726 $(MAKE) -C drivers/storage/$* bootcd
727
728 .PHONY: $(STORAGE_DRIVERS) $(STORAGE_DRIVERS:%=%_clean) \
729 $(STORAGE_DRIVERS:%=%_implib) $(STORAGE_DRIVERS:%=%_test) \
730 $(STORAGE_DRIVERS:%=%_install) $(STORAGE_DRIVERS:%=%_bootcd)
731
732
733 #
734 # Required system components
735 #
736 ntoskrnl: bootstrap
737 $(MAKE) -C ntoskrnl
738
739 ntoskrnl_implib: dk
740 $(MAKE) --silent -C ntoskrnl implib
741
742 ntoskrnl_test:
743 $(MAKE) -C ntoskrnl test
744
745 ntoskrnl_clean:
746 $(MAKE) -C ntoskrnl clean
747
748 ntoskrnl_install:
749 $(MAKE) -C ntoskrnl install
750
751 ntoskrnl_bootcd:
752 $(MAKE) -C ntoskrnl bootcd
753
754 .PHONY: ntoskrnl ntoskrnl_implib ntoskrnl_test \
755 ntoskrnl_clean ntoskrnl_install ntoskrnl_bootcd
756
757
758 #
759 # Hardware Abstraction Layer import library
760 #
761 hallib: $(PATH_TO_TOP)/include/roscfg.h ntoskrnl_implib
762 $(MAKE) --silent -C hal/hal
763
764 hallib_implib: dk ntoskrnl_implib
765 $(MAKE) --silent -C hal/hal implib
766
767 hallib_test:
768 $(MAKE) -C hal/hal test
769
770 hallib_clean:
771 $(MAKE) -C hal/hal clean
772
773 hallib_install:
774 $(MAKE) -C hal/hal install
775
776 hallib_bootcd:
777 $(MAKE) -C hal/hal bootcd
778
779 .PHONY: hallib hallib_implib hallib_test hallib_clean \
780 hallib_install hallib_bootcd
781
782
783 #
784 # Hardware Abstraction Layers
785 #
786 $(HALS): %: $(IMPLIB)
787 $(MAKE) -C hal/$*
788
789 $(HALS:%=%_implib): %_implib: dk
790 $(MAKE) --silent -C hal/$* implib
791
792 $(HALS:%=%_test): %_test:
793 $(MAKE) -C hal/$* test
794
795 $(HALS:%=%_clean): %_clean:
796 $(MAKE) -C hal/$* clean
797
798 $(HALS:%=%_install): %_install:
799 $(MAKE) -C hal/$* install
800
801 $(HALS:%=%_bootcd): %_bootcd:
802 $(MAKE) -C hal/$* bootcd
803
804 .PHONY: $(HALS) $(HALS:%=%_implib) $(HALS:%=%_test) \
805 $(HALS:%=%_clean) $(HALS:%=%_install) $(HALS:%=%_bootcd)
806
807
808 #
809 # File system libraries
810 #
811 $(LIB_FSLIB): %: dk
812 $(MAKE) -C lib/fslib/$*
813
814 $(LIB_FSLIB:%=%_depends): %_depends:
815 $(MAKE) -C lib/fslib/$* depends
816
817 $(LIB_FSLIB:%=%_implib): %_implib: dk
818 $(MAKE) --silent -C lib/fslib/$* implib
819
820 $(LIB_FSLIB:%=%_test): %_test:
821 $(MAKE) -C lib/fslib/$* test
822
823 $(LIB_FSLIB:%=%_clean): %_clean:
824 $(MAKE) -C lib/fslib/$* clean
825
826 $(LIB_FSLIB:%=%_install): %_install:
827 $(MAKE) -C lib/fslib/$* install
828
829 $(LIB_FSLIB:%=%_bootcd): %_bootcd:
830 $(MAKE) -C lib/fslib/$* bootcd
831
832 .PHONY: $(LIB_FSLIB) $(LIB_FSLIB:%=%_depends) $(LIB_FSLIB:%=%_implib) \
833 $(LIB_FSLIB:%=%_test) $(LIB_FSLIB:%=%_clean) \
834 $(LIB_FSLIB:%=%_install) $(LIB_FSLIB:%=%_bootcd)
835
836
837 #
838 # Static libraries
839 #
840 $(LIB_STATIC): %: dk
841 $(MAKE) --silent -C lib/$*
842
843 $(LIB_STATIC:%=%_depends): %_depends:
844 $(MAKE) -C lib/string depends
845
846 $(LIB_STATIC:%=%_implib): %_implib: dk
847 $(MAKE) --silent -C lib/$* implib
848
849 $(LIB_STATIC:%=%_test): %_test:
850 $(MAKE) -C lib/$* test
851
852 $(LIB_STATIC:%=%_clean): %_clean:
853 $(MAKE) -C lib/$* clean
854
855 $(LIB_STATIC:%=%_install): %_install:
856 $(MAKE) -C lib/$* install
857
858 $(LIB_STATIC:%=%_bootcd): %_bootcd:
859 $(MAKE) -C lib/$* bootcd
860
861 .PHONY: $(LIB_STATIC) $(LIB_STATIC:%=%_depends) $(LIB_STATIC:%=%_implib) \
862 $(LIB_STATIC:%=%_test) $(LIB_STATIC:%=%_clean) \
863 $(LIB_STATIC:%=%_install) $(LIB_STATIC:%=%_bootcd)
864
865
866 #
867 # MSVCRT is seperate since CRTDLL depend on this
868 #
869 msvcrt: $(IMPLIB)
870 $(MAKE) -C lib/msvcrt
871
872 msvcrt_depends:
873 $(MAKE) -C lib/msvcrt depends
874
875 msvcrt_implib: dk
876 $(MAKE) --silent -C lib/msvcrt implib
877
878 msvcrt_test:
879 $(MAKE) -C lib/msvcrt test
880
881 msvcrt_clean:
882 $(MAKE) -C lib/msvcrt clean
883
884 msvcrt_install:
885 $(MAKE) -C lib/msvcrt install
886
887 msvcrt_bootcd:
888 $(MAKE) -C lib/msvcrt bootcd
889
890 .PHONY: msvcrt msvcrt_depends msvcrt_implib msvcrt_test \
891 msvcrt_clean msvcrt_install msvcrt_bootcd
892
893
894 #
895 # DLLs
896 #
897 $(DLLS): %: $(IMPLIB) msvcrt
898 $(MAKE) -C lib/$*
899
900 $(DLLS:%=%_depends): %_depends:
901 $(MAKE) -C lib/$* depends
902
903 $(DLLS:%=%_implib): %_implib: dk
904 $(MAKE) --silent -C lib/$* implib
905
906 $(DLLS:%=%_test): %_test:
907 $(MAKE) -C lib/$* test
908
909 $(DLLS:%=%_clean): %_clean:
910 $(MAKE) -C lib/$* clean
911
912 $(DLLS:%=%_install): %_install:
913 $(MAKE) -C lib/$* install
914
915 $(DLLS:%=%_bootcd): %_bootcd:
916 $(MAKE) -C lib/$* bootcd
917
918 .PHONY: $(DLLS) $(DLLS:%=%_depends) $(DLLS:%=%_implib) $(DLLS:%=%_test) \
919 $(DLLS:%=%_clean) $(DLLS:%=%_install) $(DLLS:%=%_bootcd)
920
921
922 #
923 # Subsystem support modules
924 #
925 $(SUBSYS): %: $(IMPLIB)
926 $(MAKE) -C subsys/$*
927
928 $(SUBSYS:%=%_depends): %_depends:
929 $(MAKE) -C subsys/$* depends
930
931 $(SUBSYS:%=%_implib): %_implib: dk
932 $(MAKE) --silent -C subsys/$* implib
933
934 $(SUBSYS:%=%_test): %_test:
935 $(MAKE) -C subsys/$* test
936
937 $(SUBSYS:%=%_clean): %_clean:
938 $(MAKE) -C subsys/$* clean
939
940 $(SUBSYS:%=%_install): %_install:
941 $(MAKE) -C subsys/$* install
942
943 $(SUBSYS:%=%_bootcd): %_bootcd:
944 $(MAKE) -C subsys/$* bootcd
945
946 .PHONY: $(SUBSYS) $(SUBSYS:%=%_depends) $(SUBSYS:%=%_implib) $(SUBSYS:%=%_test) \
947 $(SUBSYS:%=%_clean) $(SUBSYS:%=%_install) $(SUBSYS:%=%_bootcd)
948
949 #
950 # Regression testsuite
951 #
952
953 $(REGTESTS): %: $(IMPLIB)
954 $(MAKE) --silent -C regtests
955
956 $(REGTESTS:%=%_implib): %_implib: dk
957 $(MAKE) --silent -C regtests implib
958
959 $(REGTESTS:%=%_clean): %_clean:
960 $(MAKE) -C regtests clean
961
962 $(REGTESTS:%=%_install): %_install:
963 $(MAKE) -C regtests install
964
965 .PHONY: $(REGTESTS) $(REGTESTS:%=%_depends) $(SUBSYS:%=%_clean) $(REGTESTS:%=%_install)
966
967
968 #
969 # Create an installation
970 #
971
972 install_clean:
973 $(HALFVERBOSEECHO) [RM] $(INSTALL_DIR)/system32/drivers/*.*
974 $(RM) $(INSTALL_DIR)/system32/drivers/*.*
975 $(HALFVERBOSEECHO) [RM] $(INSTALL_DIR)/system32/config/*.*
976 $(RM) $(INSTALL_DIR)/system32/config/*.*
977 $(HALFVERBOSEECHO) [RM] $(INSTALL_DIR)/system32/*.*
978 $(RM) $(INSTALL_DIR)/system32/*.*
979 $(HALFVERBOSEECHO) [RM] $(INSTALL_DIR)/symbols/*.*
980 $(RM) $(INSTALL_DIR)/symbols/*.*
981 $(HALFVERBOSEECHO) [RM] $(INSTALL_DIR)/media/fonts/*.*
982 $(RM) $(INSTALL_DIR)/media/fonts/*.*
983 $(HALFVERBOSEECHO) [RM] $(INSTALL_DIR)/media/*.*
984 $(RM) $(INSTALL_DIR)/media/*.*
985 $(HALFVERBOSEECHO) [RM] $(INSTALL_DIR)/inf/*.*
986 $(RM) $(INSTALL_DIR)/inf/*.*
987 $(HALFVERBOSEECHO) [RM] $(INSTALL_DIR)/bin/*.*
988 $(RM) $(INSTALL_DIR)/bin/*.*
989 $(HALFVERBOSEECHO) [RMDIR] $(INSTALL_DIR)/system32/drivers
990 $(RMDIR) $(INSTALL_DIR)/system32/drivers
991 $(HALFVERBOSEECHO) [RMDIR] $(INSTALL_DIR)/system32/config
992 $(RMDIR) $(INSTALL_DIR)/system32/config
993 $(HALFVERBOSEECHO) [RMDIR] $(INSTALL_DIR)/system32
994 $(RMDIR) $(INSTALL_DIR)/system32
995 $(HALFVERBOSEECHO) [RMDIR] $(INSTALL_DIR)/symbols
996 $(RMDIR) $(INSTALL_DIR)/symbols
997 $(HALFVERBOSEECHO) [RMDIR] $(INSTALL_DIR)/media/fonts
998 $(RMDIR) $(INSTALL_DIR)/media/fonts
999 $(HALFVERBOSEECHO) [RMDIR] $(INSTALL_DIR)/media
1000 $(RMDIR) $(INSTALL_DIR)/media
1001 $(HALFVERBOSEECHO) [RMDIR] $(INSTALL_DIR)/inf
1002 $(RMDIR) $(INSTALL_DIR)/inf
1003 $(HALFVERBOSEECHO) [RMDIR] $(INSTALL_DIR)/bin
1004 $(RMDIR) $(INSTALL_DIR)/bin
1005 $(HALFVERBOSEECHO) [RMDIR] $(INSTALL_DIR)
1006 $(RMDIR) $(INSTALL_DIR)
1007
1008 install_dirs:
1009 $(HALFVERBOSEECHO) [RMKDIR] $(INSTALL_DIR)
1010 $(RMKDIR) $(INSTALL_DIR)
1011 $(HALFVERBOSEECHO) [RMKDIR] $(INSTALL_DIR)/bin
1012 $(RMKDIR) $(INSTALL_DIR)/bin
1013 $(HALFVERBOSEECHO) [RMKDIR] $(INSTALL_DIR)/inf
1014 $(RMKDIR) $(INSTALL_DIR)/inf
1015 $(HALFVERBOSEECHO) [RMKDIR] $(INSTALL_DIR)/media
1016 $(RMKDIR) $(INSTALL_DIR)/media
1017 $(HALFVERBOSEECHO) [RMKDIR] $(INSTALL_DIR)/media/fonts
1018 $(RMKDIR) $(INSTALL_DIR)/media/fonts
1019 $(HALFVERBOSEECHO) [RMKDIR] $(INSTALL_DIR)/symbols
1020 $(RMKDIR) $(INSTALL_DIR)/symbols
1021 $(HALFVERBOSEECHO) [RMKDIR] $(INSTALL_DIR)/system32
1022 $(RMKDIR) $(INSTALL_DIR)/system32
1023 $(HALFVERBOSEECHO) [RMKDIR] $(INSTALL_DIR)/system32/config
1024 $(RMKDIR) $(INSTALL_DIR)/system32/config
1025 $(HALFVERBOSEECHO) [RMKDIR] $(INSTALL_DIR)/system32/drivers
1026 $(RMKDIR) $(INSTALL_DIR)/system32/drivers
1027 $(HALFVERBOSEECHO) [RMKDIR] $(INSTALL_DIR)/system32/drivers/etc
1028 $(RMKDIR) $(INSTALL_DIR)/system32/drivers/etc
1029
1030 install_before:
1031 $(HALFVERBOSEECHO) [INSTALL] media/inf to $(INSTALL_DIR)/inf
1032 $(CP) media/inf $(INSTALL_DIR)/inf
1033 $(HALFVERBOSEECHO) [INSTALL] media/fonts to $(INSTALL_DIR)/media/fonts
1034 $(CP) media/fonts $(INSTALL_DIR)/media/fonts
1035 $(HALFVERBOSEECHO) [INSTALL] media/nls to $(INSTALL_DIR)/system32
1036 $(CP) media/nls $(INSTALL_DIR)/system32
1037 $(HALFVERBOSEECHO) [INSTALL] media/nls/c_1252.nls to $(INSTALL_DIR)/system32/ansi.nls
1038 $(CP) media/nls/c_1252.nls $(INSTALL_DIR)/system32/ansi.nls
1039 $(HALFVERBOSEECHO) [INSTALL] media/nls/c_437.nls to $(INSTALL_DIR)/system32/oem.nls
1040 $(CP) media/nls/c_437.nls $(INSTALL_DIR)/system32/oem.nls
1041 $(HALFVERBOSEECHO) [INSTALL] media/nls/l_intl.nls to $(INSTALL_DIR)/system32/casemap.nls
1042 $(CP) media/nls/l_intl.nls $(INSTALL_DIR)/system32/casemap.nls
1043 $(HALFVERBOSEECHO) [INSTALL] media/drivers/etc/services to $(INSTALL_DIR)/system32/drivers/etc/services
1044 $(CP) media/drivers/etc/services $(INSTALL_DIR)/system32/drivers/etc/services
1045
1046 .PHONY: install_clean install_dirs install_before
1047
1048
1049 etags:
1050 find . -name "*.[ch]" -print | etags --language=c -
1051
1052
1053 docu:
1054 echo generating ReactOS NTOSKRNL documentation ...
1055 $(MAKE) -C ntoskrnl docu
1056
1057 echo generating ReactOS drivers documentation ...
1058 $(MAKE) -C drivers docu
1059
1060 echo generating ReactOS NTDLL documentation ...
1061 $(MAKE) -C lib/ntdll docu
1062
1063 echo generating ReactOS Freetype documentation ...
1064 $(MAKE) -C lib/freetype docu
1065
1066 echo generating ReactOS libs documentation ...
1067 $(MAKE) -C lib docu
1068
1069 echo generating ReactOS WIN32K documentation ...
1070 $(MAKE) -C subsys/win32k docu
1071
1072 echo generating ReactOS apps+tools documentation ...
1073 $(MAKE) -C apps docu
1074
1075 echo generating ReactOS explorer documentation ...
1076 $(MAKE) -C subsys/system/explorer full-docu
1077
1078 echo generating remaining ReactOS documentation ...
1079 doxygen Doxyfile
1080
1081 .PHONY: docu
1082
1083 include $(TOOLS_PATH)/config.mk