8 # Define to build ReactOS external targets
10 ifeq ($(ROS_BUILD_EXT
),)
16 include $(PATH_TO_TOP
)/rules.mak
18 # Required to run the system
19 COMPONENTS
= iface_native iface_additional hallib ntoskrnl
21 # Hardware Abstraction Layers
29 # Filesystem libraries
34 LIB_STATIC
= string rosrtl epsapi zlib
37 # advapi32 crtdll fmifs gdi32 kernel32 libpcap packet msafd msvcrt ntdll ole32
38 # oleaut32 epsapi psapi rpcrt4 secur32 shell32 user32 version ws2help ws2_32 wsock32 wshirda
39 DLLS
= advapi32 crtdll fmifs freetype gdi32 kernel32 packet msafd msvcrt ntdll \
40 psapi secur32 syssetup user32 version winedbgc winspool ws2help ws2_32 \
43 SUBSYS
= smss win32k csrss ntvdm
46 # Select the server(s) you want to build
48 #SERVERS = posix linux os2
55 # Driver support libraries
59 # Kernel mode device drivers
61 # beep blue floppy null parallel ramdrv serenum serial vga videoprt
62 DEVICE_DRIVERS
= beep blue debugout floppy null serial vga videoprt
64 # Kernel mode input drivers
65 # keyboard mouclass psaux sermouse
66 INPUT_DRIVERS
= keyboard mouclass psaux
68 # Kernel mode file system drivers
69 # cdfs ext2 fs_rec ms np vfat
70 FS_DRIVERS
= cdfs fs_rec ms np vfat mup ntfs
72 # Kernel mode networking drivers
73 # afd ndis npf tcpip tdi wshtcpip
74 NET_DRIVERS
= afd ndis npf tcpip tdi wshtcpip
76 # Kernel mode networking device drivers
78 NET_DEVICE_DRIVERS
= ne2000
80 # Kernel mode storage drivers
81 # atapi cdrom class2 disk scsiport
82 STORAGE_DRIVERS
= atapi cdrom class2 disk scsiport
85 # autochk cmd format gstart services setup usetup winlogon
86 SYS_APPS
= autochk cmd format gstart services setup usetup winlogon
90 SYS_SVC
= rpcss eventlog
92 APPS
= tests testsets utils
95 # External (sub)systems for ReactOS
96 # rosapps wine posix os2 (requires c++) java (non-existant)
97 EXTERNALS
= rosapps wine posix os2
99 ifeq ($(ROS_BUILD_EXT
),yes
)
100 EXT_MODULES
= $(EXTERNALS
)
105 KERNEL_DRIVERS
= $(DRIVERS_LIB
) $(DEVICE_DRIVERS
) $(INPUT_DRIVERS
) $(FS_DRIVERS
) \
106 $(NET_DRIVERS
) $(NET_DEVICE_DRIVERS
) $(STORAGE_DRIVERS
)
111 all: tools dk implib
$(LIB_STATIC
) $(COMPONENTS
) $(HALS
) $(BUS
) $(LIB_FSLIB
) $(DLLS
) $(SUBSYS
) \
112 $(LOADERS
) $(KERNEL_DRIVERS
) $(SYS_APPS
) $(SYS_SVC
) \
113 $(APPS
) $(EXT_MODULES
) $(REGTESTS
)
115 #config: $(TOOLS:%=%_config)
117 depends
: $(LIB_STATIC
:%=%_depends
) $(LIB_FSLIB
:%=%_depends
) $(DLLS
:%=%_depends
) $(SUBSYS
:%=%_depends
) $(SYS_SVC
:%=%_depends
) \
118 $(EXT_MODULES
:%=%_depends
) $(POSIX_LIBS
:%=%_depends
)
120 implib
: $(COMPONENTS
:%=%_implib
) $(HALS
:%=%_implib
) $(BUS
:%=%_implib
) \
121 $(LIB_STATIC
:%=%_implib
) $(LIB_FSLIB
:%=%_implib
) $(DLLS
:%=%_implib
) $(LOADERS
:%=%_implib
) \
122 $(KERNEL_DRIVERS
:%=%_implib
) $(SUBSYS
:%=%_implib
) \
123 $(SYS_APPS
:%=%_implib
) $(SYS_SVC
:%=%_implib
) \
124 $(APPS
:%=%_implib
) $(EXT_MODULES
:%=%_implib
)
126 clean: tools dk_clean
$(HALS
:%=%_clean
) \
127 $(COMPONENTS
:%=%_clean
) $(BUS
:%=%_clean
) $(LIB_STATIC
:%=%_clean
) $(LIB_FSLIB
:%=%_clean
) $(DLLS
:%=%_clean
) \
128 $(LOADERS
:%=%_clean
) $(KERNEL_DRIVERS
:%=%_clean
) $(SUBSYS
:%=%_clean
) \
129 $(SYS_APPS
:%=%_clean
) $(SYS_SVC
:%=%_clean
) \
130 $(NET_APPS
:%=%_clean
) \
131 $(APPS
:%=%_clean
) $(EXT_MODULES
:%=%_clean
) $(REGTESTS
:%=%_clean
) \
132 clean_after tools_clean
135 $(RM
) $(PATH_TO_TOP
)/include/roscfg.h
137 install: tools install_dirs install_before \
138 $(COMPONENTS
:%=%_install
) $(HALS
:%=%_install
) $(BUS
:%=%_install
) \
139 $(LIB_STATIC
:%=%_install
) $(LIB_FSLIB
:%=%_install
) $(DLLS
:%=%_install
) $(LOADERS
:%=%_install
) \
140 $(KERNEL_DRIVERS
:%=%_install
) $(SUBSYS
:%=%_install
) \
141 $(SYS_APPS
:%=%_install
) $(SYS_SVC
:%=%_install
) \
142 $(APPS
:%=%_install
) $(EXT_MODULES
:%=%_install
) $(REGTESTS
:%=%_install
)
144 dist: $(TOOLS_PATH
)/rcopy
$(EXE_POSTFIX
) dist_clean dist_dirs \
145 $(HALS
:%=%_dist
) $(COMPONENTS
:%=%_dist
) $(BUS
:%=%_dist
) $(LIB_STATIC
:%=%_dist
) $(LIB_FSLIB
:%=%_dist
) \
146 $(DLLS
:%=%_dist
) $(LOADERS
:%=%_dist
) $(KERNEL_DRIVERS
:%=%_dist
) $(SUBSYS
:%=%_dist
) \
147 $(SYS_APPS
:%=%_dist
) $(SYS_SVC
:%=%_dist
) \
148 $(NET_APPS
:%=%_dist
) \
149 $(APPS
:%=%_dist
) $(EXT_MODULES
:%=%_dist
)
151 bootcd_directory_layout
:
152 $(RMKDIR
) $(BOOTCD_DIR
)
153 $(RMKDIR
) $(BOOTCD_DIR
)/bootdisk
154 $(RMKDIR
) $(BOOTCD_DIR
)/loader
155 $(RMKDIR
) $(BOOTCD_DIR
)/reactos
156 $(RMKDIR
) $(BOOTCD_DIR
)/reactos
/system32
158 bootcd_bootstrap_files
: $(COMPONENTS
:%=%_bootcd
) $(HALS
:%=%_bootcd
) $(BUS
:%=%_bootcd
) \
159 $(LIB_STATIC
:%=%_bootcd
) $(LIB_FSLIB
:%=%_bootcd
) $(DLLS
:%=%_bootcd
) $(KERNEL_DRIVERS
:%=%_bootcd
) \
160 $(SUBSYS
:%=%_bootcd
) $(SYS_APPS
:%=%_bootcd
)
162 bootcd
: all bootcd_directory_layout bootcd_bootstrap_files
163 $(MAKE
) install INSTALL_DIR
=$(BOOTCD_DIR
)/reactos INSTALL_SYMBOLS
=no BOOTCD_INSTALL
=yes
165 .PHONY
: all depends implib
clean clean_before
install dist bootcd_directory_layout \
166 bootcd_bootstrap_files bootcd
170 # System Applications
173 $(MAKE
) -C subsys
/system
/$*
175 $(SYS_APPS
:%=%_implib
): %_implib
:
176 $(MAKE
) -C subsys
/system
/$* implib
178 $(SYS_APPS
:%=%_clean
): %_clean
:
179 $(MAKE
) -C subsys
/system
/$* clean
181 $(SYS_APPS
:%=%_dist
): %_dist
:
182 $(MAKE
) -C subsys
/system
/$* dist
184 $(SYS_APPS
:%=%_install
): %_install
:
185 $(MAKE
) -C subsys
/system
/$* install
187 $(SYS_APPS
:%=%_bootcd
): %_bootcd
:
188 $(MAKE
) -C subsys
/system
/$* bootcd
190 .PHONY
: $(SYS_APPS
) $(SYS_APPS
:%=%_implib
) $(SYS_APPS
:%=%_clean
) $(SYS_APPS
:%=%_install
) $(SYS_APPS
:%=%_dist
) $(SYS_APPS
:%=%_bootcd
)
196 $(MAKE
) -C services
/$*
198 $(SYS_SVC
:%=%_depends
): %_depends
:
199 $(MAKE
) -C services
/$* depends
201 $(SYS_SVC
:%=%_implib
): %_implib
:
202 $(MAKE
) -C services
/$* implib
204 $(SYS_SVC
:%=%_clean
): %_clean
:
205 $(MAKE
) -C services
/$* clean
207 $(SYS_SVC
:%=%_dist
): %_dist
:
208 $(MAKE
) -C services
/$* dist
210 $(SYS_SVC
:%=%_install
): %_install
:
211 $(MAKE
) -C services
/$* install
213 .PHONY
: $(SYS_SVC
) $(SYS_SVC
:%=%_depends
) $(SYS_SVC
:%=%_implib
) $(SYS_SVC
:%=%_clean
) $(SYS_SVC
:%=%_install
) $(SYS_SVC
:%=%_dist
)
220 # Extra (optional system) Applications
225 $(APPS
:%=%_implib
): %_implib
:
226 $(MAKE
) -C apps
/$* implib
228 $(APPS
:%=%_clean
): %_clean
:
229 $(MAKE
) -C apps
/$* clean
231 $(APPS
:%=%_dist
): %_dist
:
232 $(MAKE
) -C apps
/$* dist
234 $(APPS
:%=%_install
): %_install
:
235 $(MAKE
) -C apps
/$* install
237 .PHONY
: $(APPS
) $(APPS
:%=%_implib
) $(APPS
:%=%_clean
) $(APPS
:%=%_install
) $(APPS
:%=%_dist
)
241 # External ports and subsystem personalities
244 $(MAKE
) -C
$(ROOT_PATH
)/$*
246 $(EXTERNALS
:%=%_depends
): %_depends
:
247 $(MAKE
) -C
$(ROOT_PATH
)/$* depends
249 $(EXTERNALS
:%=%_implib
): %_implib
:
250 $(MAKE
) -C
$(ROOT_PATH
)/$* implib
252 $(EXTERNALS
:%=%_clean
): %_clean
:
253 $(MAKE
) -C
$(ROOT_PATH
)/$* clean
255 $(EXTERNALS
:%=%_dist
): %_dist
:
256 $(MAKE
) -C
$(ROOT_PATH
)/$* dist
258 $(EXTERNALS
:%=%_install
): %_install
:
259 $(MAKE
) -C
$(ROOT_PATH
)/$* install
261 .PHONY
: $(EXTERNALS
) $(EXTERNALS
:%=%_depends
) $(EXTERNALS
:%=%_implib
) $(EXTERNALS
:%=%_clean
) $(EXTERNALS
:%=%_install
) $(EXTERNALS
:%=%_dist
)
273 $(MAKE
) -C tools
clean
279 .PHONY
: tools tools_implib tools_clean tools_install tools_dist
287 $(RMKDIR
) $(DDK_PATH
)
288 $(RMKDIR
) $(DDK_PATH_LIB
)
289 $(RMKDIR
) $(DDK_PATH_INC
)
290 $(RMKDIR
) $(SDK_PATH
)
291 $(RMKDIR
) $(SDK_PATH_LIB
)
292 $(RMKDIR
) $(SDK_PATH_INC
)
293 $(RMKDIR
) $(XDK_PATH
)
294 $(RMKDIR
) $(XDK_PATH_LIB
)
295 $(RMKDIR
) $(XDK_PATH_INC
)
299 # WARNING! Be very sure that there are no important files
300 # in these directories before cleaning them!!!
302 $(RM
) $(DDK_PATH_LIB
)/*.a
303 # $(RM) $(DDK_PATH_INC)/*.h
304 $(RMDIR
) $(DDK_PATH_LIB
)
305 # $(RMDIR) $(DDK_PATH_INC)
306 $(RM
) $(SDK_PATH_LIB
)/*.a
307 # $(RM) $(SDK_PATH_INC)/*.h
308 $(RMDIR
) $(SDK_PATH_LIB
)
309 # $(RMDIR) $(SDK_PATH_INC)
310 $(RM
) $(XDK_PATH_LIB
)/*.a
311 # $(RM) $(XDK_PATH_INC)/*.h
312 $(RMDIR
) $(XDK_PATH_LIB
)
313 # $(RMDIR) $(XDK_PATH_INC)
319 .PHONY
: dk dk_implib dk_clean dk_install dk_dist
326 $(MAKE
) -C iface
/native
331 $(MAKE
) -C iface
/native
clean
333 iface_native_install
:
340 $(MAKE
) -C iface
/addsys
342 iface_additional_implib
:
344 iface_additional_clean
:
345 $(MAKE
) -C iface
/addsys
clean
347 iface_additional_install
:
349 iface_additional_dist
:
351 iface_additional_bootcd
:
353 .PHONY
: iface_native iface_native_implib iface_native_clean iface_native_install \
354 iface_native_dist iface_native_bootcd \
355 iface_additional iface_additional_implib iface_additional_clean \
356 iface_additional_install iface_additional_dist iface_additional_bootcd
362 $(MAKE
) -C drivers
/bus
/$*
364 $(BUS
:%=%_implib
): %_implib
:
365 $(MAKE
) -C drivers
/bus
/$* implib
367 $(BUS
:%=%_clean
): %_clean
:
368 $(MAKE
) -C drivers
/bus
/$* clean
370 $(BUS
:%=%_install
): %_install
:
371 $(MAKE
) -C drivers
/bus
/$* install
373 $(BUS
:%=%_dist
): %_dist
:
374 $(MAKE
) -C drivers
/bus
/$* dist
376 $(BUS
:%=%_bootcd
): %_bootcd
:
377 $(MAKE
) -C drivers
/bus
/$* bootcd
379 .PHONY
: $(BUS
) $(BUS
:%=%_implib
) $(BUS
:%=%_clean
) \
380 $(BUS
:%=%_install
) $(BUS
:%=%_dist
) $(BUS
:%=%_bootcd
)
383 # Driver support libraries rules
386 $(MAKE
) -C drivers
/lib
/$*
388 $(DRIVERS_LIB
:%=%_implib
): %_implib
:
389 $(MAKE
) -C drivers
/lib
/$* implib
391 $(DRIVERS_LIB
:%=%_clean
): %_clean
:
392 $(MAKE
) -C drivers
/lib
/$* clean
394 $(DRIVERS_LIB
:%=%_install
): %_install
:
395 $(MAKE
) -C drivers
/lib
/$* install
397 $(DRIVERS_LIB
:%=%_dist
): %_dist
:
398 $(MAKE
) -C drivers
/lib
/$* dist
400 $(DRIVERS_LIB
:%=%_bootcd
): %_bootcd
:
401 $(MAKE
) -C drivers
/lib
/$* bootcd
403 .PHONY
: $(DRIVERS_LIB
) $(DRIVERS_LIB
:%=%_implib
) $(DRIVERS_LIB
:%=%_clean
) \
404 $(DRIVERS_LIB
:%=%_install
) $(DRIVERS_LIB
:%=%_dist
) $(DRIVERS_LIB
:%=%_bootcd
)
407 # Device driver rules
409 $(DEVICE_DRIVERS
): %:
410 $(MAKE
) -C drivers
/dd
/$*
412 $(DEVICE_DRIVERS
:%=%_implib
): %_implib
:
413 $(MAKE
) -C drivers
/dd
/$* implib
415 $(DEVICE_DRIVERS
:%=%_clean
): %_clean
:
416 $(MAKE
) -C drivers
/dd
/$* clean
418 $(DEVICE_DRIVERS
:%=%_install
): %_install
:
419 $(MAKE
) -C drivers
/dd
/$* install
421 $(DEVICE_DRIVERS
:%=%_dist
): %_dist
:
422 $(MAKE
) -C drivers
/dd
/$* dist
424 $(DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
425 $(MAKE
) -C drivers
/dd
/$* bootcd
427 .PHONY
: $(DEVICE_DRIVERS
) $(DEVICE_DRIVERS
:%=%_implib
) $(DEVICE_DRIVERS
:%=%_clean
) \
428 $(DEVICE_DRIVERS
:%=%_install
) $(DEVICE_DRIVERS
:%=%_dist
) $(DEVICE_DRIVERS
:%=%_bootcd
)
434 $(MAKE
) -C drivers
/input
/$*
436 $(INPUT_DRIVERS
:%=%_implib
): %_implib
:
437 $(MAKE
) -C drivers
/input
/$* implib
439 $(INPUT_DRIVERS
:%=%_clean
): %_clean
:
440 $(MAKE
) -C drivers
/input
/$* clean
442 $(INPUT_DRIVERS
:%=%_install
): %_install
:
443 $(MAKE
) -C drivers
/input
/$* install
445 $(INPUT_DRIVERS
:%=%_dist
): %_dist
:
446 $(MAKE
) -C drivers
/input
/$* dist
448 $(INPUT_DRIVERS
:%=%_bootcd
): %_bootcd
:
449 $(MAKE
) -C drivers
/input
/$* bootcd
451 .PHONY
: $(INPUT_DRIVERS
) $(INPUT_DRIVERS
:%=%_implib
) $(INPUT_DRIVERS
:%=%_clean
)\
452 $(INPUT_DRIVERS
:%=%_install
) $(INPUT_DRIVERS
:%=%_dist
) $(INPUT_DRIVERS
:%=%_bootcd
)
455 $(MAKE
) -C drivers
/fs
/$*
457 $(FS_DRIVERS
:%=%_implib
): %_implib
:
458 $(MAKE
) -C drivers
/fs
/$* implib
460 $(FS_DRIVERS
:%=%_clean
): %_clean
:
461 $(MAKE
) -C drivers
/fs
/$* clean
463 $(FS_DRIVERS
:%=%_install
): %_install
:
464 $(MAKE
) -C drivers
/fs
/$* install
466 $(FS_DRIVERS
:%=%_dist
): %_dist
:
467 $(MAKE
) -C drivers
/fs
/$* dist
469 $(FS_DRIVERS
:%=%_bootcd
): %_bootcd
:
470 $(MAKE
) -C drivers
/fs
/$* bootcd
472 .PHONY
: $(FS_DRIVERS
) $(FS_DRIVERS
:%=%_implib
) $(FS_DRIVERS
:%=%_clean
) \
473 $(FS_DRIVERS
:%=%_install
) $(FS_DRIVERS
:%=%_dist
) $(FS_DRIVERS
:%=%_bootcd
)
476 # Network driver rules
479 $(MAKE
) -C drivers
/net
/$*
481 $(NET_DRIVERS
:%=%_implib
): %_implib
:
482 $(MAKE
) -C drivers
/net
/$* implib
484 $(NET_DRIVERS
:%=%_clean
): %_clean
:
485 $(MAKE
) -C drivers
/net
/$* clean
487 $(NET_DRIVERS
:%=%_install
): %_install
:
488 $(MAKE
) -C drivers
/net
/$* install
490 $(NET_DRIVERS
:%=%_dist
): %_dist
:
491 $(MAKE
) -C drivers
/net
/$* dist
493 $(NET_DRIVERS
:%=%_bootcd
): %_bootcd
:
494 $(MAKE
) -C drivers
/net
/$* bootcd
496 .PHONY
: $(NET_DRIVERS
) $(NET_DRIVERS
:%=%_implib
) $(NET_DRIVERS
:%=%_clean
) \
497 $(NET_DRIVERS
:%=%_install
) $(NET_DRIVERS
:%=%_dist
) $(NET_DRIVERS
:%=%_bootcd
)
499 $(NET_DEVICE_DRIVERS
): %:
500 $(MAKE
) -C drivers
/net
/dd
/$*
502 $(NET_DEVICE_DRIVERS
:%=%_implib
): %_implib
:
503 $(MAKE
) -C drivers
/net
/dd
/$* implib
505 $(NET_DEVICE_DRIVERS
:%=%_clean
): %_clean
:
506 $(MAKE
) -C drivers
/net
/dd
/$* clean
508 $(NET_DEVICE_DRIVERS
:%=%_install
): %_install
:
509 $(MAKE
) -C drivers
/net
/dd
/$* install
511 $(NET_DEVICE_DRIVERS
:%=%_dist
): %_dist
:
512 $(MAKE
) -C drivers
/net
/dd
/$* dist
514 $(NET_DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
515 $(MAKE
) -C drivers
/net
/dd
/$* bootcd
517 .PHONY
: $(NET_DEVICE_DRIVERS
) $(NET_DEVICE_DRIVERS
:%=%_clean
) $(NET_DEVICE_DRIVERS
:%=%_implib
) \
518 $(NET_DEVICE_DRIVERS
:%=%_install
) $(NET_DEVICE_DRIVERS
:%=%_dist
) $(NET_DEVICE_DRIVERS
:%=%_bootcd
)
521 # storage driver rules
523 $(STORAGE_DRIVERS
): %:
524 $(MAKE
) -C drivers
/storage
/$*
526 $(STORAGE_DRIVERS
:%=%_implib
): %_implib
:
527 $(MAKE
) -C drivers
/storage
/$* implib
529 $(STORAGE_DRIVERS
:%=%_clean
): %_clean
:
530 $(MAKE
) -C drivers
/storage
/$* clean
532 $(STORAGE_DRIVERS
:%=%_install
): %_install
:
533 $(MAKE
) -C drivers
/storage
/$* install
535 $(STORAGE_DRIVERS
:%=%_dist
): %_dist
:
536 $(MAKE
) -C drivers
/storage
/$* dist
538 $(STORAGE_DRIVERS
:%=%_bootcd
): %_bootcd
:
539 $(MAKE
) -C drivers
/storage
/$* bootcd
541 .PHONY
: $(STORAGE_DRIVERS
) $(STORAGE_DRIVERS
:%=%_clean
) $(STORAGE_DRIVERS
:%=%_implib
) \
542 $(STORAGE_DRIVERS
:%=%_install
) $(STORAGE_DRIVERS
:%=%_dist
) $(STORAGE_DRIVERS
:%=%_bootcd
)
549 $(MAKE
) -C loaders
/$*
551 $(LOADERS
:%=%_implib
): %_implib
:
553 $(LOADERS
:%=%_clean
): %_clean
:
554 $(MAKE
) -C loaders
/$* clean
556 $(LOADERS
:%=%_install
): %_install
:
557 $(MAKE
) -C loaders
/$* install
559 $(LOADERS
:%=%_dist
): %_dist
:
560 $(MAKE
) -C loaders
/$* dist
562 .PHONY
: $(LOADERS
) $(LOADERS
:%=%_implib
) $(LOADERS
:%=%_clean
) $(LOADERS
:%=%_install
) \
566 # Required system components
573 $(MAKE
) -C ntoskrnl implib
576 $(MAKE
) -C ntoskrnl
clean
579 $(MAKE
) -C ntoskrnl
install
582 $(MAKE
) -C ntoskrnl
dist
585 $(MAKE
) -C ntoskrnl bootcd
587 .PHONY
: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_dist ntoskrnl_bootcd
590 # Hardware Abstraction Layer import library
597 $(MAKE
) -C hal
/hal implib
600 $(MAKE
) -C hal
/hal
clean
603 $(MAKE
) -C hal
/hal
install
606 $(MAKE
) -C hal
/hal
dist
609 $(MAKE
) -C hal
/hal bootcd
611 .PHONY
: hallib hallib_implib hallib_clean hallib_install hallib_dist hallib_bootcd
614 # Hardware Abstraction Layers
620 $(HALS
:%=%_implib
): %_implib
:
621 $(MAKE
) -C hal
/$* implib
623 $(HALS
:%=%_clean
): %_clean
:
624 $(MAKE
) -C hal
/$* clean
626 $(HALS
:%=%_install
): %_install
:
627 $(MAKE
) -C hal
/$* install
629 $(HALS
:%=%_dist
): %_dist
:
630 $(MAKE
) -C hal
/$* dist
632 $(HALS
:%=%_bootcd
): %_bootcd
:
633 $(MAKE
) -C hal
/$* bootcd
635 .PHONY
: $(HALS
) $(HALS
:%=%_implib
) $(HALS
:%=%_clean
) $(HALS
:%=%_install
) $(HALS
:%=%_dist
) $(HALS
:%=%_bootcd
)
638 # File system libraries
642 $(MAKE
) -C lib
/fslib
/$*
644 $(LIB_FSLIB
:%=%_depends
): %_depends
:
645 $(MAKE
) -C lib
/fslib
/$* depends
647 $(LIB_FSLIB
:%=%_implib
): %_implib
:
648 $(MAKE
) -C lib
/fslib
/$* implib
650 $(LIB_FSLIB
:%=%_clean
): %_clean
:
651 $(MAKE
) -C lib
/fslib
/$* clean
653 $(LIB_FSLIB
:%=%_install
): %_install
:
654 $(MAKE
) -C lib
/fslib
/$* install
656 $(LIB_FSLIB
:%=%_dist
): %_dist
:
657 $(MAKE
) -C lib
/fslib
/$* dist
659 $(LIB_FSLIB
:%=%_bootcd
): %_bootcd
:
660 $(MAKE
) -C lib
/fslib
/$* bootcd
662 .PHONY
: $(LIB_FSLIB
) $(LIB_FSLIB
:%=%_depends
) $(LIB_FSLIB
:%=%_implib
) $(LIB_FSLIB
:%=%_clean
) \
663 $(LIB_FSLIB
:%=%_install
) $(LIB_FSLIB
:%=%_dist
) $(LIB_FSLIB
:%=%_bootcd
)
672 $(LIB_STATIC
:%=%_depends
): %_depends
:
673 $(MAKE
) -C lib
/string depends
675 $(LIB_STATIC
:%=%_implib
): %_implib
:
676 $(MAKE
) -C lib
/$* implib
678 $(LIB_STATIC
:%=%_clean
): %_clean
:
679 $(MAKE
) -C lib
/$* clean
681 $(LIB_STATIC
:%=%_install
): %_install
:
682 $(MAKE
) -C lib
/$* install
684 $(LIB_STATIC
:%=%_dist
): %_dist
:
685 $(MAKE
) -C lib
/$* dist
687 $(LIB_STATIC
:%=%_bootcd
): %_bootcd
:
688 $(MAKE
) -C lib
/$* bootcd
690 .PHONY
: $(LIB_STATIC
) $(LIB_STATIC
:%=%_depends
) $(LIB_STATIC
:%=%_implib
) $(LIB_STATIC
:%=%_clean
) \
691 $(LIB_STATIC
:%=%_install
) $(LIB_STATIC
:%=%_dist
) $(LIB_STATIC
:%=%_bootcd
)
700 $(DLLS
:%=%_depends
): %_depends
:
701 $(MAKE
) -C lib
/$* depends
703 $(DLLS
:%=%_implib
): %_implib
:
704 $(MAKE
) -C lib
/$* implib
706 $(DLLS
:%=%_clean
): %_clean
:
707 $(MAKE
) -C lib
/$* clean
709 $(DLLS
:%=%_install
): %_install
:
710 $(MAKE
) -C lib
/$* install
712 $(DLLS
:%=%_dist
): %_dist
:
713 $(MAKE
) -C lib
/$* dist
715 $(DLLS
:%=%_bootcd
): %_bootcd
:
716 $(MAKE
) -C lib
/$* bootcd
718 .PHONY
: $(DLLS
) $(DLLS
:%=%_depends
) $(DLLS
:%=%_implib
) $(DLLS
:%=%_clean
) $(DLLS
:%=%_install
) $(DLLS
:%=%_dist
) $(DLLS
:%=%_bootcd
)
721 # Subsystem support modules
727 $(SUBSYS
:%=%_depends
): %_depends
:
728 $(MAKE
) -C subsys
/$* depends
730 $(SUBSYS
:%=%_implib
): %_implib
:
731 $(MAKE
) -C subsys
/$* implib
733 $(SUBSYS
:%=%_clean
): %_clean
:
734 $(MAKE
) -C subsys
/$* clean
736 $(SUBSYS
:%=%_install
): %_install
:
737 $(MAKE
) -C subsys
/$* install
739 $(SUBSYS
:%=%_dist
): %_dist
:
740 $(MAKE
) -C subsys
/$* dist
742 $(SUBSYS
:%=%_bootcd
): %_bootcd
:
743 $(MAKE
) -C subsys
/$* bootcd
745 .PHONY
: $(SUBSYS
) $(SUBSYS
:%=%_depends
) $(SUBSYS
:%=%_implib
) $(SUBSYS
:%=%_clean
) $(SUBSYS
:%=%_install
) \
746 $(SUBSYS
:%=%_dist
) $(SUBSYS
:%=%_bootcd
)
749 # Regression testsuite
755 $(REGTESTS
:%=%_clean
): %_clean
:
756 $(MAKE
) -C regtests
clean
758 $(REGTESTS
:%=%_install
): %_install
:
759 $(MAKE
) -C regtests
install
761 .PHONY
: $(REGTESTS
) $(REGTESTS
:%=%_depends
) $(SUBSYS
:%=%_clean
) $(REGTESTS
:%=%_install
)
765 # Create an installation
769 $(RM
) $(INSTALL_DIR
)/system32
/drivers
/*.
*
770 $(RM
) $(INSTALL_DIR
)/system32
/config
/*.
*
771 $(RM
) $(INSTALL_DIR
)/system32
/*.
*
772 $(RM
) $(INSTALL_DIR
)/symbols
/*.
*
773 $(RM
) $(INSTALL_DIR
)/media
/fonts
/*.
*
774 $(RM
) $(INSTALL_DIR
)/media
/*.
*
775 $(RM
) $(INSTALL_DIR
)/bin
/*.
*
776 $(RM
) $(INSTALL_DIR
)/*.com
777 $(RM
) $(INSTALL_DIR
)/*.bat
778 $(RMDIR
) $(INSTALL_DIR
)/system32
/drivers
779 $(RMDIR
) $(INSTALL_DIR
)/system32
/config
780 $(RMDIR
) $(INSTALL_DIR
)/system32
781 $(RMDIR
) $(INSTALL_DIR
)/symbols
782 $(RMDIR
) $(INSTALL_DIR
)/media
/fonts
783 $(RMDIR
) $(INSTALL_DIR
)/media
784 $(RMDIR
) $(INSTALL_DIR
)/bin
785 $(RMDIR
) $(INSTALL_DIR
)
787 ifneq ($(BOOTCD_INSTALL
),)
790 $(RMKDIR
) $(INSTALL_DIR
)
793 # $(RLINE) bootdata/autorun.inf $(INSTALL_DIR)/../autorun.inf
794 $(RLINE
) bootdata
/readme.txt
$(INSTALL_DIR
)/..
/readme.txt
795 $(RLINE
) bootdata
/hivecls.inf
$(INSTALL_DIR
)/hivecls.inf
796 $(RLINE
) bootdata
/hivedef.inf
$(INSTALL_DIR
)/hivedef.inf
797 $(RLINE
) bootdata
/hivesft.inf
$(INSTALL_DIR
)/hivesft.inf
798 $(RLINE
) bootdata
/hivesys.inf
$(INSTALL_DIR
)/hivesys.inf
799 $(RLINE
) bootdata
/txtsetup.sif
$(INSTALL_DIR
)/txtsetup.sif
800 $(CP
) media
/fonts
$(INSTALL_DIR
)
801 $(CP
) media
/nls
$(INSTALL_DIR
)
803 else # !BOOTCD_INSTALL
806 $(RMKDIR
) $(INSTALL_DIR
)
807 $(RMKDIR
) $(INSTALL_DIR
)/bin
808 $(RMKDIR
) $(INSTALL_DIR
)/media
809 $(RMKDIR
) $(INSTALL_DIR
)/media
/fonts
810 $(RMKDIR
) $(INSTALL_DIR
)/symbols
811 $(RMKDIR
) $(INSTALL_DIR
)/system32
812 $(RMKDIR
) $(INSTALL_DIR
)/system32
/config
813 $(RMKDIR
) $(INSTALL_DIR
)/system32
/drivers
816 $(CP
) bootc.lst
$(INSTALL_DIR
)/bootc.lst
817 $(CP
) boot.bat
$(INSTALL_DIR
)/boot.bat
818 $(CP
) aboot.bat
$(INSTALL_DIR
)/aboot.bat
819 $(CP
) media
/fonts
$(INSTALL_DIR
)/media
/fonts
820 $(CP
) media
/nls
$(INSTALL_DIR
)/system32
821 $(CP
) media
/nls
/c_1252.nls
$(INSTALL_DIR
)/system32
/ansi.nls
822 $(CP
) media
/nls
/c_437.nls
$(INSTALL_DIR
)/system32
/oem.nls
823 $(CP
) media
/nls
/l_intl.nls
$(INSTALL_DIR
)/system32
/casemap.nls
825 endif # BOOTCD_INSTALL
827 .PHONY
: install_clean install_dirs install_before
831 # Make a distribution saveset
835 $(RM
) $(DIST_DIR
)/symbols
/*.sym
836 $(RM
) $(DIST_DIR
)/drivers
/*.sys
837 $(RM
) $(DIST_DIR
)/subsys
/*.exe
838 $(RM
) $(DIST_DIR
)/dlls
/*.dll
839 $(RM
) $(DIST_DIR
)/apps
/*.exe
840 $(RM
) $(DIST_DIR
)/*.exe
841 $(RMDIR
) $(DIST_DIR
)/symbols
842 $(RMDIR
) $(DIST_DIR
)/subsys
843 $(RMDIR
) $(DIST_DIR
)/drivers
844 $(RMDIR
) $(DIST_DIR
)/dlls
845 $(RMDIR
) $(DIST_DIR
)/apps
849 $(RMKDIR
) $(DIST_DIR
)
850 $(RMKDIR
) $(DIST_DIR
)/apps
851 $(RMKDIR
) $(DIST_DIR
)/dlls
852 $(RMKDIR
) $(DIST_DIR
)/drivers
853 $(RMKDIR
) $(DIST_DIR
)/subsys
854 $(RMKDIR
) $(DIST_DIR
)/symbols
856 .PHONY
: dist_clean dist_dirs
859 find .
-name
"*.[ch]" -print | etags
--language
=c
-