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