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