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
38 # epsapi psapi rpcrt4 secur32 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 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 INPUT_DRIVERS
= keyboard mouclass psaux sermouse
67 # Kernel mode file system drivers
68 # cdfs ext2 fs_rec ms np vfat
69 FS_DRIVERS
= cdfs fs_rec ms np vfat mup ntfs
71 # Kernel mode networking drivers
72 # afd ndis npf tcpip tdi wshtcpip
73 NET_DRIVERS
= afd ndis npf tcpip tdi wshtcpip
75 # Kernel mode networking device drivers
77 NET_DEVICE_DRIVERS
= ne2000
79 # Kernel mode storage drivers
80 # atapi cdrom class2 disk scsiport
81 STORAGE_DRIVERS
= atapi cdrom class2 disk scsiport
84 # autochk cmd format gstart services setup usetup winlogon
85 SYS_APPS
= autochk cmd format gstart services setup usetup winlogon
89 SYS_SVC
= rpcss eventlog
91 APPS
= tests testsets utils
94 # External (sub)systems for ReactOS
95 # rosapps wine posix os2 (requires c++) java (non-existant)
96 EXTERNALS
= rosapps wine posix os2
98 ifeq ($(ROS_BUILD_EXT
),yes
)
99 EXT_MODULES
= $(EXTERNALS
)
104 KERNEL_DRIVERS
= $(DRIVERS_LIB
) $(DEVICE_DRIVERS
) $(INPUT_DRIVERS
) $(FS_DRIVERS
) \
105 $(NET_DRIVERS
) $(NET_DEVICE_DRIVERS
) $(STORAGE_DRIVERS
)
110 all: tools dk implib
$(LIB_STATIC
) $(COMPONENTS
) $(HALS
) $(BUS
) $(LIB_FSLIB
) $(DLLS
) $(SUBSYS
) \
111 $(LOADERS
) $(KERNEL_DRIVERS
) $(SYS_APPS
) $(SYS_SVC
) \
112 $(APPS
) $(EXT_MODULES
) $(REGTESTS
)
114 #config: $(TOOLS:%=%_config)
116 depends
: $(LIB_STATIC
:%=%_depends
) $(LIB_FSLIB
:%=%_depends
) $(DLLS
:%=%_depends
) $(SUBSYS
:%=%_depends
) $(SYS_SVC
:%=%_depends
) \
117 $(EXT_MODULES
:%=%_depends
) $(POSIX_LIBS
:%=%_depends
)
119 implib
: $(COMPONENTS
:%=%_implib
) $(HALS
:%=%_implib
) $(BUS
:%=%_implib
) \
120 $(LIB_STATIC
:%=%_implib
) $(LIB_FSLIB
:%=%_implib
) $(DLLS
:%=%_implib
) $(LOADERS
:%=%_implib
) \
121 $(KERNEL_DRIVERS
:%=%_implib
) $(SUBSYS
:%=%_implib
) \
122 $(SYS_APPS
:%=%_implib
) $(SYS_SVC
:%=%_implib
) \
123 $(APPS
:%=%_implib
) $(EXT_MODULES
:%=%_implib
)
125 clean: tools dk_clean
$(HALS
:%=%_clean
) \
126 $(COMPONENTS
:%=%_clean
) $(BUS
:%=%_clean
) $(LIB_STATIC
:%=%_clean
) $(LIB_FSLIB
:%=%_clean
) $(DLLS
:%=%_clean
) \
127 $(LOADERS
:%=%_clean
) $(KERNEL_DRIVERS
:%=%_clean
) $(SUBSYS
:%=%_clean
) \
128 $(SYS_APPS
:%=%_clean
) $(SYS_SVC
:%=%_clean
) \
129 $(NET_APPS
:%=%_clean
) \
130 $(APPS
:%=%_clean
) $(EXT_MODULES
:%=%_clean
) $(REGTESTS
:%=%_clean
) \
131 clean_after tools_clean
134 $(RM
) $(PATH_TO_TOP
)/include/roscfg.h
136 install: tools install_dirs install_before \
137 $(COMPONENTS
:%=%_install
) $(HALS
:%=%_install
) $(BUS
:%=%_install
) \
138 $(LIB_STATIC
:%=%_install
) $(LIB_FSLIB
:%=%_install
) $(DLLS
:%=%_install
) $(LOADERS
:%=%_install
) \
139 $(KERNEL_DRIVERS
:%=%_install
) $(SUBSYS
:%=%_install
) \
140 $(SYS_APPS
:%=%_install
) $(SYS_SVC
:%=%_install
) \
141 $(APPS
:%=%_install
) $(EXT_MODULES
:%=%_install
) $(REGTESTS
:%=%_install
)
143 dist: $(TOOLS_PATH
)/rcopy
$(EXE_POSTFIX
) dist_clean dist_dirs \
144 $(HALS
:%=%_dist
) $(COMPONENTS
:%=%_dist
) $(BUS
:%=%_dist
) $(LIB_STATIC
:%=%_dist
) $(LIB_FSLIB
:%=%_dist
) \
145 $(DLLS
:%=%_dist
) $(LOADERS
:%=%_dist
) $(KERNEL_DRIVERS
:%=%_dist
) $(SUBSYS
:%=%_dist
) \
146 $(SYS_APPS
:%=%_dist
) $(SYS_SVC
:%=%_dist
) \
147 $(NET_APPS
:%=%_dist
) \
148 $(APPS
:%=%_dist
) $(EXT_MODULES
:%=%_dist
)
150 bootcd_directory_layout
:
151 $(RMKDIR
) $(BOOTCD_DIR
)
152 $(RMKDIR
) $(BOOTCD_DIR
)/bootdisk
153 $(RMKDIR
) $(BOOTCD_DIR
)/loader
154 $(RMKDIR
) $(BOOTCD_DIR
)/reactos
155 $(RMKDIR
) $(BOOTCD_DIR
)/reactos
/system32
157 bootcd_bootstrap_files
: $(COMPONENTS
:%=%_bootcd
) $(HALS
:%=%_bootcd
) $(BUS
:%=%_bootcd
) \
158 $(LIB_STATIC
:%=%_bootcd
) $(LIB_FSLIB
:%=%_bootcd
) $(DLLS
:%=%_bootcd
) $(KERNEL_DRIVERS
:%=%_bootcd
) \
159 $(SUBSYS
:%=%_bootcd
) $(SYS_APPS
:%=%_bootcd
)
161 bootcd
: all bootcd_directory_layout bootcd_bootstrap_files
162 $(MAKE
) install INSTALL_DIR
=$(BOOTCD_DIR
)/reactos INSTALL_SYMBOLS
=no BOOTCD_INSTALL
=yes
164 .PHONY
: all depends implib
clean clean_before
install dist bootcd_directory_layout \
165 bootcd_bootstrap_files bootcd
169 # System Applications
172 $(MAKE
) -C subsys
/system
/$*
174 $(SYS_APPS
:%=%_implib
): %_implib
:
175 $(MAKE
) -C subsys
/system
/$* implib
177 $(SYS_APPS
:%=%_clean
): %_clean
:
178 $(MAKE
) -C subsys
/system
/$* clean
180 $(SYS_APPS
:%=%_dist
): %_dist
:
181 $(MAKE
) -C subsys
/system
/$* dist
183 $(SYS_APPS
:%=%_install
): %_install
:
184 $(MAKE
) -C subsys
/system
/$* install
186 $(SYS_APPS
:%=%_bootcd
): %_bootcd
:
187 $(MAKE
) -C subsys
/system
/$* bootcd
189 .PHONY
: $(SYS_APPS
) $(SYS_APPS
:%=%_implib
) $(SYS_APPS
:%=%_clean
) $(SYS_APPS
:%=%_install
) $(SYS_APPS
:%=%_dist
) $(SYS_APPS
:%=%_bootcd
)
195 $(MAKE
) -C services
/$*
197 $(SYS_SVC
:%=%_depends
): %_depends
:
198 $(MAKE
) -C services
/$* depends
200 $(SYS_SVC
:%=%_implib
): %_implib
:
201 $(MAKE
) -C services
/$* implib
203 $(SYS_SVC
:%=%_clean
): %_clean
:
204 $(MAKE
) -C services
/$* clean
206 $(SYS_SVC
:%=%_dist
): %_dist
:
207 $(MAKE
) -C services
/$* dist
209 $(SYS_SVC
:%=%_install
): %_install
:
210 $(MAKE
) -C services
/$* install
212 .PHONY
: $(SYS_SVC
) $(SYS_SVC
:%=%_depends
) $(SYS_SVC
:%=%_implib
) $(SYS_SVC
:%=%_clean
) $(SYS_SVC
:%=%_install
) $(SYS_SVC
:%=%_dist
)
219 # Extra (optional system) Applications
224 $(APPS
:%=%_implib
): %_implib
:
225 $(MAKE
) -C apps
/$* implib
227 $(APPS
:%=%_clean
): %_clean
:
228 $(MAKE
) -C apps
/$* clean
230 $(APPS
:%=%_dist
): %_dist
:
231 $(MAKE
) -C apps
/$* dist
233 $(APPS
:%=%_install
): %_install
:
234 $(MAKE
) -C apps
/$* install
236 .PHONY
: $(APPS
) $(APPS
:%=%_implib
) $(APPS
:%=%_clean
) $(APPS
:%=%_install
) $(APPS
:%=%_dist
)
240 # External ports and subsystem personalities
243 $(MAKE
) -C
$(ROOT_PATH
)/$*
245 $(EXTERNALS
:%=%_depends
): %_depends
:
246 $(MAKE
) -C
$(ROOT_PATH
)/$* depends
248 $(EXTERNALS
:%=%_implib
): %_implib
:
249 $(MAKE
) -C
$(ROOT_PATH
)/$* implib
251 $(EXTERNALS
:%=%_clean
): %_clean
:
252 $(MAKE
) -C
$(ROOT_PATH
)/$* clean
254 $(EXTERNALS
:%=%_dist
): %_dist
:
255 $(MAKE
) -C
$(ROOT_PATH
)/$* dist
257 $(EXTERNALS
:%=%_install
): %_install
:
258 $(MAKE
) -C
$(ROOT_PATH
)/$* install
260 .PHONY
: $(EXTERNALS
) $(EXTERNALS
:%=%_depends
) $(EXTERNALS
:%=%_implib
) $(EXTERNALS
:%=%_clean
) $(EXTERNALS
:%=%_install
) $(EXTERNALS
:%=%_dist
)
272 $(MAKE
) -C tools
clean
278 .PHONY
: tools tools_implib tools_clean tools_install tools_dist
286 $(RMKDIR
) $(DDK_PATH
)
287 $(RMKDIR
) $(DDK_PATH_LIB
)
288 $(RMKDIR
) $(DDK_PATH_INC
)
289 $(RMKDIR
) $(SDK_PATH
)
290 $(RMKDIR
) $(SDK_PATH_LIB
)
291 $(RMKDIR
) $(SDK_PATH_INC
)
292 $(RMKDIR
) $(XDK_PATH
)
293 $(RMKDIR
) $(XDK_PATH_LIB
)
294 $(RMKDIR
) $(XDK_PATH_INC
)
298 # WARNING! Be very sure that there are no important files
299 # in these directories before cleaning them!!!
301 $(RM
) $(DDK_PATH_LIB
)/*.a
302 # $(RM) $(DDK_PATH_INC)/*.h
303 $(RMDIR
) $(DDK_PATH_LIB
)
304 # $(RMDIR) $(DDK_PATH_INC)
305 $(RM
) $(SDK_PATH_LIB
)/*.a
306 # $(RM) $(SDK_PATH_INC)/*.h
307 $(RMDIR
) $(SDK_PATH_LIB
)
308 # $(RMDIR) $(SDK_PATH_INC)
309 $(RM
) $(XDK_PATH_LIB
)/*.a
310 # $(RM) $(XDK_PATH_INC)/*.h
311 $(RMDIR
) $(XDK_PATH_LIB
)
312 # $(RMDIR) $(XDK_PATH_INC)
318 .PHONY
: dk dk_implib dk_clean dk_install dk_dist
325 $(MAKE
) -C iface
/native
330 $(MAKE
) -C iface
/native
clean
332 iface_native_install
:
339 $(MAKE
) -C iface
/addsys
341 iface_additional_implib
:
343 iface_additional_clean
:
344 $(MAKE
) -C iface
/addsys
clean
346 iface_additional_install
:
348 iface_additional_dist
:
350 iface_additional_bootcd
:
352 .PHONY
: iface_native iface_native_implib iface_native_clean iface_native_install \
353 iface_native_dist iface_native_bootcd \
354 iface_additional iface_additional_implib iface_additional_clean \
355 iface_additional_install iface_additional_dist iface_additional_bootcd
361 $(MAKE
) -C drivers
/bus
/$*
363 $(BUS
:%=%_implib
): %_implib
:
364 $(MAKE
) -C drivers
/bus
/$* implib
366 $(BUS
:%=%_clean
): %_clean
:
367 $(MAKE
) -C drivers
/bus
/$* clean
369 $(BUS
:%=%_install
): %_install
:
370 $(MAKE
) -C drivers
/bus
/$* install
372 $(BUS
:%=%_dist
): %_dist
:
373 $(MAKE
) -C drivers
/bus
/$* dist
375 $(BUS
:%=%_bootcd
): %_bootcd
:
376 $(MAKE
) -C drivers
/bus
/$* bootcd
378 .PHONY
: $(BUS
) $(BUS
:%=%_implib
) $(BUS
:%=%_clean
) \
379 $(BUS
:%=%_install
) $(BUS
:%=%_dist
) $(BUS
:%=%_bootcd
)
382 # Driver support libraries rules
385 $(MAKE
) -C drivers
/lib
/$*
387 $(DRIVERS_LIB
:%=%_implib
): %_implib
:
388 $(MAKE
) -C drivers
/lib
/$* implib
390 $(DRIVERS_LIB
:%=%_clean
): %_clean
:
391 $(MAKE
) -C drivers
/lib
/$* clean
393 $(DRIVERS_LIB
:%=%_install
): %_install
:
394 $(MAKE
) -C drivers
/lib
/$* install
396 $(DRIVERS_LIB
:%=%_dist
): %_dist
:
397 $(MAKE
) -C drivers
/lib
/$* dist
399 $(DRIVERS_LIB
:%=%_bootcd
): %_bootcd
:
400 $(MAKE
) -C drivers
/lib
/$* bootcd
402 .PHONY
: $(DRIVERS_LIB
) $(DRIVERS_LIB
:%=%_implib
) $(DRIVERS_LIB
:%=%_clean
) \
403 $(DRIVERS_LIB
:%=%_install
) $(DRIVERS_LIB
:%=%_dist
) $(DRIVERS_LIB
:%=%_bootcd
)
406 # Device driver rules
408 $(DEVICE_DRIVERS
): %:
409 $(MAKE
) -C drivers
/dd
/$*
411 $(DEVICE_DRIVERS
:%=%_implib
): %_implib
:
412 $(MAKE
) -C drivers
/dd
/$* implib
414 $(DEVICE_DRIVERS
:%=%_clean
): %_clean
:
415 $(MAKE
) -C drivers
/dd
/$* clean
417 $(DEVICE_DRIVERS
:%=%_install
): %_install
:
418 $(MAKE
) -C drivers
/dd
/$* install
420 $(DEVICE_DRIVERS
:%=%_dist
): %_dist
:
421 $(MAKE
) -C drivers
/dd
/$* dist
423 $(DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
424 $(MAKE
) -C drivers
/dd
/$* bootcd
426 .PHONY
: $(DEVICE_DRIVERS
) $(DEVICE_DRIVERS
:%=%_implib
) $(DEVICE_DRIVERS
:%=%_clean
) \
427 $(DEVICE_DRIVERS
:%=%_install
) $(DEVICE_DRIVERS
:%=%_dist
) $(DEVICE_DRIVERS
:%=%_bootcd
)
433 $(MAKE
) -C drivers
/input
/$*
435 $(INPUT_DRIVERS
:%=%_implib
): %_implib
:
436 $(MAKE
) -C drivers
/input
/$* implib
438 $(INPUT_DRIVERS
:%=%_clean
): %_clean
:
439 $(MAKE
) -C drivers
/input
/$* clean
441 $(INPUT_DRIVERS
:%=%_install
): %_install
:
442 $(MAKE
) -C drivers
/input
/$* install
444 $(INPUT_DRIVERS
:%=%_dist
): %_dist
:
445 $(MAKE
) -C drivers
/input
/$* dist
447 $(INPUT_DRIVERS
:%=%_bootcd
): %_bootcd
:
448 $(MAKE
) -C drivers
/input
/$* bootcd
450 .PHONY
: $(INPUT_DRIVERS
) $(INPUT_DRIVERS
:%=%_implib
) $(INPUT_DRIVERS
:%=%_clean
)\
451 $(INPUT_DRIVERS
:%=%_install
) $(INPUT_DRIVERS
:%=%_dist
) $(INPUT_DRIVERS
:%=%_bootcd
)
454 $(MAKE
) -C drivers
/fs
/$*
456 $(FS_DRIVERS
:%=%_implib
): %_implib
:
457 $(MAKE
) -C drivers
/fs
/$* implib
459 $(FS_DRIVERS
:%=%_clean
): %_clean
:
460 $(MAKE
) -C drivers
/fs
/$* clean
462 $(FS_DRIVERS
:%=%_install
): %_install
:
463 $(MAKE
) -C drivers
/fs
/$* install
465 $(FS_DRIVERS
:%=%_dist
): %_dist
:
466 $(MAKE
) -C drivers
/fs
/$* dist
468 $(FS_DRIVERS
:%=%_bootcd
): %_bootcd
:
469 $(MAKE
) -C drivers
/fs
/$* bootcd
471 .PHONY
: $(FS_DRIVERS
) $(FS_DRIVERS
:%=%_implib
) $(FS_DRIVERS
:%=%_clean
) \
472 $(FS_DRIVERS
:%=%_install
) $(FS_DRIVERS
:%=%_dist
) $(FS_DRIVERS
:%=%_bootcd
)
475 # Network driver rules
478 $(MAKE
) -C drivers
/net
/$*
480 $(NET_DRIVERS
:%=%_implib
): %_implib
:
481 $(MAKE
) -C drivers
/net
/$* implib
483 $(NET_DRIVERS
:%=%_clean
): %_clean
:
484 $(MAKE
) -C drivers
/net
/$* clean
486 $(NET_DRIVERS
:%=%_install
): %_install
:
487 $(MAKE
) -C drivers
/net
/$* install
489 $(NET_DRIVERS
:%=%_dist
): %_dist
:
490 $(MAKE
) -C drivers
/net
/$* dist
492 $(NET_DRIVERS
:%=%_bootcd
): %_bootcd
:
493 $(MAKE
) -C drivers
/net
/$* bootcd
495 .PHONY
: $(NET_DRIVERS
) $(NET_DRIVERS
:%=%_implib
) $(NET_DRIVERS
:%=%_clean
) \
496 $(NET_DRIVERS
:%=%_install
) $(NET_DRIVERS
:%=%_dist
) $(NET_DRIVERS
:%=%_bootcd
)
498 $(NET_DEVICE_DRIVERS
): %:
499 $(MAKE
) -C drivers
/net
/dd
/$*
501 $(NET_DEVICE_DRIVERS
:%=%_implib
): %_implib
:
502 $(MAKE
) -C drivers
/net
/dd
/$* implib
504 $(NET_DEVICE_DRIVERS
:%=%_clean
): %_clean
:
505 $(MAKE
) -C drivers
/net
/dd
/$* clean
507 $(NET_DEVICE_DRIVERS
:%=%_install
): %_install
:
508 $(MAKE
) -C drivers
/net
/dd
/$* install
510 $(NET_DEVICE_DRIVERS
:%=%_dist
): %_dist
:
511 $(MAKE
) -C drivers
/net
/dd
/$* dist
513 $(NET_DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
514 $(MAKE
) -C drivers
/net
/dd
/$* bootcd
516 .PHONY
: $(NET_DEVICE_DRIVERS
) $(NET_DEVICE_DRIVERS
:%=%_clean
) $(NET_DEVICE_DRIVERS
:%=%_implib
) \
517 $(NET_DEVICE_DRIVERS
:%=%_install
) $(NET_DEVICE_DRIVERS
:%=%_dist
) $(NET_DEVICE_DRIVERS
:%=%_bootcd
)
520 # storage driver rules
522 $(STORAGE_DRIVERS
): %:
523 $(MAKE
) -C drivers
/storage
/$*
525 $(STORAGE_DRIVERS
:%=%_implib
): %_implib
:
526 $(MAKE
) -C drivers
/storage
/$* implib
528 $(STORAGE_DRIVERS
:%=%_clean
): %_clean
:
529 $(MAKE
) -C drivers
/storage
/$* clean
531 $(STORAGE_DRIVERS
:%=%_install
): %_install
:
532 $(MAKE
) -C drivers
/storage
/$* install
534 $(STORAGE_DRIVERS
:%=%_dist
): %_dist
:
535 $(MAKE
) -C drivers
/storage
/$* dist
537 $(STORAGE_DRIVERS
:%=%_bootcd
): %_bootcd
:
538 $(MAKE
) -C drivers
/storage
/$* bootcd
540 .PHONY
: $(STORAGE_DRIVERS
) $(STORAGE_DRIVERS
:%=%_clean
) $(STORAGE_DRIVERS
:%=%_implib
) \
541 $(STORAGE_DRIVERS
:%=%_install
) $(STORAGE_DRIVERS
:%=%_dist
) $(STORAGE_DRIVERS
:%=%_bootcd
)
548 $(MAKE
) -C loaders
/$*
550 $(LOADERS
:%=%_implib
): %_implib
:
552 $(LOADERS
:%=%_clean
): %_clean
:
553 $(MAKE
) -C loaders
/$* clean
555 $(LOADERS
:%=%_install
): %_install
:
556 $(MAKE
) -C loaders
/$* install
558 $(LOADERS
:%=%_dist
): %_dist
:
559 $(MAKE
) -C loaders
/$* dist
561 .PHONY
: $(LOADERS
) $(LOADERS
:%=%_implib
) $(LOADERS
:%=%_clean
) $(LOADERS
:%=%_install
) \
565 # Required system components
572 $(MAKE
) -C ntoskrnl implib
575 $(MAKE
) -C ntoskrnl
clean
578 $(MAKE
) -C ntoskrnl
install
581 $(MAKE
) -C ntoskrnl
dist
584 $(MAKE
) -C ntoskrnl bootcd
586 .PHONY
: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_dist ntoskrnl_bootcd
589 # Hardware Abstraction Layer import library
596 $(MAKE
) -C hal
/hal implib
599 $(MAKE
) -C hal
/hal
clean
602 $(MAKE
) -C hal
/hal
install
605 $(MAKE
) -C hal
/hal
dist
608 $(MAKE
) -C hal
/hal bootcd
610 .PHONY
: hallib hallib_implib hallib_clean hallib_install hallib_dist hallib_bootcd
613 # Hardware Abstraction Layers
619 $(HALS
:%=%_implib
): %_implib
:
620 $(MAKE
) -C hal
/$* implib
622 $(HALS
:%=%_clean
): %_clean
:
623 $(MAKE
) -C hal
/$* clean
625 $(HALS
:%=%_install
): %_install
:
626 $(MAKE
) -C hal
/$* install
628 $(HALS
:%=%_dist
): %_dist
:
629 $(MAKE
) -C hal
/$* dist
631 $(HALS
:%=%_bootcd
): %_bootcd
:
632 $(MAKE
) -C hal
/$* bootcd
634 .PHONY
: $(HALS
) $(HALS
:%=%_implib
) $(HALS
:%=%_clean
) $(HALS
:%=%_install
) $(HALS
:%=%_dist
) $(HALS
:%=%_bootcd
)
637 # File system libraries
641 $(MAKE
) -C lib
/fslib
/$*
643 $(LIB_FSLIB
:%=%_depends
): %_depends
:
644 $(MAKE
) -C lib
/fslib
/$* depends
646 $(LIB_FSLIB
:%=%_implib
): %_implib
:
647 $(MAKE
) -C lib
/fslib
/$* implib
649 $(LIB_FSLIB
:%=%_clean
): %_clean
:
650 $(MAKE
) -C lib
/fslib
/$* clean
652 $(LIB_FSLIB
:%=%_install
): %_install
:
653 $(MAKE
) -C lib
/fslib
/$* install
655 $(LIB_FSLIB
:%=%_dist
): %_dist
:
656 $(MAKE
) -C lib
/fslib
/$* dist
658 $(LIB_FSLIB
:%=%_bootcd
): %_bootcd
:
659 $(MAKE
) -C lib
/fslib
/$* bootcd
661 .PHONY
: $(LIB_FSLIB
) $(LIB_FSLIB
:%=%_depends
) $(LIB_FSLIB
:%=%_implib
) $(LIB_FSLIB
:%=%_clean
) \
662 $(LIB_FSLIB
:%=%_install
) $(LIB_FSLIB
:%=%_dist
) $(LIB_FSLIB
:%=%_bootcd
)
671 $(LIB_STATIC
:%=%_depends
): %_depends
:
672 $(MAKE
) -C lib
/string depends
674 $(LIB_STATIC
:%=%_implib
): %_implib
:
675 $(MAKE
) -C lib
/$* implib
677 $(LIB_STATIC
:%=%_clean
): %_clean
:
678 $(MAKE
) -C lib
/$* clean
680 $(LIB_STATIC
:%=%_install
): %_install
:
681 $(MAKE
) -C lib
/$* install
683 $(LIB_STATIC
:%=%_dist
): %_dist
:
684 $(MAKE
) -C lib
/$* dist
686 $(LIB_STATIC
:%=%_bootcd
): %_bootcd
:
687 $(MAKE
) -C lib
/$* bootcd
689 .PHONY
: $(LIB_STATIC
) $(LIB_STATIC
:%=%_depends
) $(LIB_STATIC
:%=%_implib
) $(LIB_STATIC
:%=%_clean
) \
690 $(LIB_STATIC
:%=%_install
) $(LIB_STATIC
:%=%_dist
) $(LIB_STATIC
:%=%_bootcd
)
699 $(DLLS
:%=%_depends
): %_depends
:
700 $(MAKE
) -C lib
/$* depends
702 $(DLLS
:%=%_implib
): %_implib
:
703 $(MAKE
) -C lib
/$* implib
705 $(DLLS
:%=%_clean
): %_clean
:
706 $(MAKE
) -C lib
/$* clean
708 $(DLLS
:%=%_install
): %_install
:
709 $(MAKE
) -C lib
/$* install
711 $(DLLS
:%=%_dist
): %_dist
:
712 $(MAKE
) -C lib
/$* dist
714 $(DLLS
:%=%_bootcd
): %_bootcd
:
715 $(MAKE
) -C lib
/$* bootcd
717 .PHONY
: $(DLLS
) $(DLLS
:%=%_depends
) $(DLLS
:%=%_implib
) $(DLLS
:%=%_clean
) $(DLLS
:%=%_install
) $(DLLS
:%=%_dist
) $(DLLS
:%=%_bootcd
)
720 # Subsystem support modules
726 $(SUBSYS
:%=%_depends
): %_depends
:
727 $(MAKE
) -C subsys
/$* depends
729 $(SUBSYS
:%=%_implib
): %_implib
:
730 $(MAKE
) -C subsys
/$* implib
732 $(SUBSYS
:%=%_clean
): %_clean
:
733 $(MAKE
) -C subsys
/$* clean
735 $(SUBSYS
:%=%_install
): %_install
:
736 $(MAKE
) -C subsys
/$* install
738 $(SUBSYS
:%=%_dist
): %_dist
:
739 $(MAKE
) -C subsys
/$* dist
741 $(SUBSYS
:%=%_bootcd
): %_bootcd
:
742 $(MAKE
) -C subsys
/$* bootcd
744 .PHONY
: $(SUBSYS
) $(SUBSYS
:%=%_depends
) $(SUBSYS
:%=%_implib
) $(SUBSYS
:%=%_clean
) $(SUBSYS
:%=%_install
) \
745 $(SUBSYS
:%=%_dist
) $(SUBSYS
:%=%_bootcd
)
748 # Regression testsuite
754 $(REGTESTS
:%=%_clean
): %_clean
:
755 $(MAKE
) -C regtests
clean
757 $(REGTESTS
:%=%_install
): %_install
:
758 $(MAKE
) -C regtests
install
760 .PHONY
: $(REGTESTS
) $(REGTESTS
:%=%_depends
) $(SUBSYS
:%=%_clean
) $(REGTESTS
:%=%_install
)
764 # Create an installation
768 $(RM
) $(INSTALL_DIR
)/system32
/drivers
/*.
*
769 $(RM
) $(INSTALL_DIR
)/system32
/config
/*.
*
770 $(RM
) $(INSTALL_DIR
)/system32
/*.
*
771 $(RM
) $(INSTALL_DIR
)/symbols
/*.
*
772 $(RM
) $(INSTALL_DIR
)/media
/fonts
/*.
*
773 $(RM
) $(INSTALL_DIR
)/media
/*.
*
774 $(RM
) $(INSTALL_DIR
)/bin
/*.
*
775 $(RM
) $(INSTALL_DIR
)/*.com
776 $(RM
) $(INSTALL_DIR
)/*.bat
777 $(RMDIR
) $(INSTALL_DIR
)/system32
/drivers
778 $(RMDIR
) $(INSTALL_DIR
)/system32
/config
779 $(RMDIR
) $(INSTALL_DIR
)/system32
780 $(RMDIR
) $(INSTALL_DIR
)/symbols
781 $(RMDIR
) $(INSTALL_DIR
)/media
/fonts
782 $(RMDIR
) $(INSTALL_DIR
)/media
783 $(RMDIR
) $(INSTALL_DIR
)/bin
784 $(RMDIR
) $(INSTALL_DIR
)
786 ifneq ($(BOOTCD_INSTALL
),)
789 $(RMKDIR
) $(INSTALL_DIR
)
792 # $(RLINE) bootdata/autorun.inf $(INSTALL_DIR)/../autorun.inf
793 $(RLINE
) bootdata
/readme.txt
$(INSTALL_DIR
)/..
/readme.txt
794 $(RLINE
) bootdata
/hivecls.inf
$(INSTALL_DIR
)/hivecls.inf
795 $(RLINE
) bootdata
/hivedef.inf
$(INSTALL_DIR
)/hivedef.inf
796 $(RLINE
) bootdata
/hivesft.inf
$(INSTALL_DIR
)/hivesft.inf
797 $(RLINE
) bootdata
/hivesys.inf
$(INSTALL_DIR
)/hivesys.inf
798 $(RLINE
) bootdata
/txtsetup.sif
$(INSTALL_DIR
)/txtsetup.sif
799 $(CP
) media
/fonts
$(INSTALL_DIR
)
800 $(CP
) media
/nls
$(INSTALL_DIR
)
802 else # !BOOTCD_INSTALL
805 $(RMKDIR
) $(INSTALL_DIR
)
806 $(RMKDIR
) $(INSTALL_DIR
)/bin
807 $(RMKDIR
) $(INSTALL_DIR
)/media
808 $(RMKDIR
) $(INSTALL_DIR
)/media
/fonts
809 $(RMKDIR
) $(INSTALL_DIR
)/symbols
810 $(RMKDIR
) $(INSTALL_DIR
)/system32
811 $(RMKDIR
) $(INSTALL_DIR
)/system32
/config
812 $(RMKDIR
) $(INSTALL_DIR
)/system32
/drivers
815 $(CP
) bootc.lst
$(INSTALL_DIR
)/bootc.lst
816 $(CP
) boot.bat
$(INSTALL_DIR
)/boot.bat
817 $(CP
) aboot.bat
$(INSTALL_DIR
)/aboot.bat
818 $(CP
) media
/fonts
$(INSTALL_DIR
)/media
/fonts
819 $(CP
) media
/nls
$(INSTALL_DIR
)/system32
820 $(CP
) media
/nls
/c_1252.nls
$(INSTALL_DIR
)/system32
/ansi.nls
821 $(CP
) media
/nls
/c_437.nls
$(INSTALL_DIR
)/system32
/oem.nls
822 $(CP
) media
/nls
/l_intl.nls
$(INSTALL_DIR
)/system32
/casemap.nls
824 endif # BOOTCD_INSTALL
826 .PHONY
: install_clean install_dirs install_before
830 # Make a distribution saveset
834 $(RM
) $(DIST_DIR
)/symbols
/*.sym
835 $(RM
) $(DIST_DIR
)/drivers
/*.sys
836 $(RM
) $(DIST_DIR
)/subsys
/*.exe
837 $(RM
) $(DIST_DIR
)/dlls
/*.dll
838 $(RM
) $(DIST_DIR
)/apps
/*.exe
839 $(RM
) $(DIST_DIR
)/*.exe
840 $(RMDIR
) $(DIST_DIR
)/symbols
841 $(RMDIR
) $(DIST_DIR
)/subsys
842 $(RMDIR
) $(DIST_DIR
)/drivers
843 $(RMDIR
) $(DIST_DIR
)/dlls
844 $(RMDIR
) $(DIST_DIR
)/apps
848 $(RMKDIR
) $(DIST_DIR
)
849 $(RMKDIR
) $(DIST_DIR
)/apps
850 $(RMKDIR
) $(DIST_DIR
)/dlls
851 $(RMKDIR
) $(DIST_DIR
)/drivers
852 $(RMKDIR
) $(DIST_DIR
)/subsys
853 $(RMKDIR
) $(DIST_DIR
)/symbols
855 .PHONY
: dist_clean dist_dirs
858 find .
-name
"*.[ch]" -print | etags
--language
=c
-