1 # $Id: Makefile,v 1.206 2004/01/19 15:56:53 navaraf Exp $
9 # Define to build ReactOS external targets
11 ifeq ($(ROS_BUILD_EXT
),)
17 include $(PATH_TO_TOP
)/rules.mak
19 # Required to run the system
20 COMPONENTS
= iface_native iface_additional hallib ntoskrnl
22 # Hardware Abstraction Layers
30 # Filesystem libraries
35 LIB_STATIC
= string rosrtl epsapi uuid libwine zlib
37 # Keyboard layout libraries
38 DLLS_KBD
= kbdus kbdgr kbdfr kbduk
41 # advapi32 cards crtdll comdlg32 fmifs gdi32 imagehlp kernel32 libpcap packet msafd msvcrt ntdll
42 # epsapi psapi richedit rpcrt4 secur32 user32 version ws2help ws2_32 wsock32 wshirda mswsock
44 DLLS
= advapi32 cabinet cards comctl32 crtdll comdlg32 d3d8thk fmifs freetype gdi32 \
45 imm32 iphlpapi kernel32 lzexpand msafd msgina msimg32 msvcrt msvcrt20 mswsock ntdll \
46 ole32 oledlg packet psapi richedit rpcrt4 secur32 shell32 shlwapi syssetup twain \
47 unicode user32 userenv version winmm winspool ws2help ws2_32 wsock32 wshirda snmpapi\
50 SUBSYS
= smss win32k csrss ntvdm
53 # Select the server(s) you want to build
55 #SERVERS = posix linux os2
62 # Driver support libraries
66 # Kernel mode device drivers
68 # beep blue floppy null parallel ramdrv serenum serial
69 DEVICE_DRIVERS
= beep blue debugout floppy null serial bootvid
71 # Kernel mode input drivers
72 INPUT_DRIVERS
= keyboard mouclass psaux sermouse
74 # Kernel mode file system drivers
75 # cdfs ext2 fs_rec ms np vfat
76 FS_DRIVERS
= cdfs fs_rec ms np vfat mup ntfs
78 # Kernel mode networking drivers
79 # afd ndis npf tcpip tdi wshtcpip
80 NET_DRIVERS
= afd ndis npf tcpip tdi wshtcpip
82 # Kernel mode networking device drivers
84 NET_DEVICE_DRIVERS
= ne2000 pcnet
86 # Kernel mode storage drivers
87 # atapi cdrom class2 disk scsiport
88 STORAGE_DRIVERS
= atapi cdrom class2 disk scsiport diskdump
91 # autochk cmd format services setup usetup welcome winlogon
92 SYS_APPS
= autochk cmd explorer format services setup taskmgr userinit usetup welcome winlogon regedit
96 SYS_SVC
= rpcss eventlog
98 APPS
= tests testsets utils
101 # External (sub)systems for ReactOS
102 # rosapps wine posix os2 (requires c++) java (non-existant)
103 EXTERNALS
= rosapps wine posix os2
105 ifeq ($(ROS_BUILD_EXT
),yes
)
106 EXT_MODULES
= $(EXTERNALS
)
111 KERNEL_DRIVERS
= $(DRIVERS_LIB
) $(DEVICE_DRIVERS
) $(INPUT_DRIVERS
) $(FS_DRIVERS
) \
112 $(NET_DRIVERS
) $(NET_DEVICE_DRIVERS
) $(STORAGE_DRIVERS
) VIDEO_DRIVERS
117 all: tools dk implib
$(LIB_STATIC
) $(COMPONENTS
) $(HALS
) $(BUS
) $(LIB_FSLIB
) $(DLLS
) $(SUBSYS
) \
118 $(LOADERS
) $(KERNEL_DRIVERS
) $(SYS_APPS
) $(SYS_SVC
) \
119 $(APPS
) $(EXT_MODULES
) $(REGTESTS
)
121 #config: $(TOOLS:%=%_config)
123 depends
: $(LIB_STATIC
:%=%_depends
) $(LIB_FSLIB
:%=%_depends
) $(DLLS
:%=%_depends
) $(SUBSYS
:%=%_depends
) $(SYS_SVC
:%=%_depends
) \
124 $(EXT_MODULES
:%=%_depends
) $(POSIX_LIBS
:%=%_depends
)
126 implib
: $(COMPONENTS
:%=%_implib
) $(HALS
:%=%_implib
) $(BUS
:%=%_implib
) \
127 $(LIB_STATIC
:%=%_implib
) $(LIB_FSLIB
:%=%_implib
) $(DLLS
:%=%_implib
) $(LOADERS
:%=%_implib
) \
128 $(KERNEL_DRIVERS
:%=%_implib
) $(SUBSYS
:%=%_implib
) \
129 $(SYS_SVC
:%=%_implib
) $(EXT_MODULES
:%=%_implib
)
131 clean: tools dk_clean
$(HALS
:%=%_clean
) \
132 $(COMPONENTS
:%=%_clean
) $(BUS
:%=%_clean
) $(LIB_STATIC
:%=%_clean
) $(LIB_FSLIB
:%=%_clean
) $(DLLS
:%=%_clean
) \
133 $(LOADERS
:%=%_clean
) $(KERNEL_DRIVERS
:%=%_clean
) $(SUBSYS
:%=%_clean
) \
134 $(SYS_APPS
:%=%_clean
) $(SYS_SVC
:%=%_clean
) \
135 $(NET_APPS
:%=%_clean
) \
136 $(APPS
:%=%_clean
) $(EXT_MODULES
:%=%_clean
) $(REGTESTS
:%=%_clean
) \
137 clean_after tools_clean
140 $(RM
) $(PATH_TO_TOP
)/include/roscfg.h
142 install: tools install_dirs install_before \
143 $(COMPONENTS
:%=%_install
) $(HALS
:%=%_install
) $(BUS
:%=%_install
) \
144 $(LIB_STATIC
:%=%_install
) $(LIB_FSLIB
:%=%_install
) $(DLLS
:%=%_install
) $(LOADERS
:%=%_install
) \
145 $(KERNEL_DRIVERS
:%=%_install
) $(SUBSYS
:%=%_install
) \
146 $(SYS_APPS
:%=%_install
) $(SYS_SVC
:%=%_install
) \
147 $(APPS
:%=%_install
) $(EXT_MODULES
:%=%_install
) $(REGTESTS
:%=%_install
) \
150 FREELDR_DIR
= ..
/freeldr
153 $(MAKE
) -C
$(FREELDR_DIR
)
155 bootcd_directory_layout
:
156 $(RMKDIR
) $(BOOTCD_DIR
)
157 $(RMKDIR
) $(BOOTCD_DIR
)/bootdisk
158 $(RMKDIR
) $(BOOTCD_DIR
)/loader
159 $(RMKDIR
) $(BOOTCD_DIR
)/reactos
160 $(RMKDIR
) $(BOOTCD_DIR
)/reactos
/system32
161 $(CP
) ${FREELDR_DIR}/bootsect
/isoboot.bin
${BOOTCD_DIR}/..
/isoboot.bin
162 $(CP
) ${FREELDR_DIR}/bootsect
/dosmbr.bin
${BOOTCD_DIR}/loader
/dosmbr.bin
163 $(CP
) ${FREELDR_DIR}/bootsect
/ext2.bin
${BOOTCD_DIR}/loader
/ext2.bin
164 $(CP
) ${FREELDR_DIR}/bootsect
/fat.bin
${BOOTCD_DIR}/loader
/fat.bin
165 $(CP
) ${FREELDR_DIR}/bootsect
/fat32.bin
${BOOTCD_DIR}/loader
/fat32.bin
166 $(CP
) ${FREELDR_DIR}/bootsect
/isoboot.bin
${BOOTCD_DIR}/loader
/isoboot.bin
167 $(CP
) ${FREELDR_DIR}/freeldr
/obj
/i386
/freeldr.sys
${BOOTCD_DIR}/loader
/freeldr.sys
168 $(CP
) ${FREELDR_DIR}/freeldr
/obj
/i386
/setupldr.sys
${BOOTCD_DIR}/loader
/setupldr.sys
170 bootcd_bootstrap_files
: $(COMPONENTS
:%=%_bootcd
) $(HALS
:%=%_bootcd
) $(BUS
:%=%_bootcd
) \
171 $(LIB_STATIC
:%=%_bootcd
) $(LIB_FSLIB
:%=%_bootcd
) $(DLLS
:%=%_bootcd
) $(KERNEL_DRIVERS
:%=%_bootcd
) \
172 $(SUBSYS
:%=%_bootcd
) $(SYS_APPS
:%=%_bootcd
)
174 bootcd_install_before
:
175 $(RLINE
) bootdata
/autorun.inf
$(BOOTCD_DIR
)/autorun.inf
176 $(RLINE
) bootdata
/readme.txt
$(BOOTCD_DIR
)/readme.txt
177 $(RLINE
) bootdata
/hivecls.inf
$(BOOTCD_DIR
)/reactos
/hivecls.inf
178 $(RLINE
) bootdata
/hivedef.inf
$(BOOTCD_DIR
)/reactos
/hivedef.inf
179 $(RLINE
) bootdata
/hivesft.inf
$(BOOTCD_DIR
)/reactos
/hivesft.inf
180 $(RLINE
) bootdata
/hivesys.inf
$(BOOTCD_DIR
)/reactos
/hivesys.inf
181 $(RLINE
) bootdata
/txtsetup.sif
$(BOOTCD_DIR
)/reactos
/txtsetup.sif
182 $(CP
) bootdata
/icon.ico
$(BOOTCD_DIR
)/icon.ico
183 $(CP
) media
/nls
/c_1252.nls
$(BOOTCD_DIR
)/reactos
/c_1252.nls
184 $(CP
) media
/nls
/c_437.nls
$(BOOTCD_DIR
)/reactos
/c_437.nls
185 $(CP
) media
/nls
/l_intl.nls
$(BOOTCD_DIR
)/reactos
/l_intl.nls
187 bootcd_basic
: bootcd_directory_layout bootcd_bootstrap_files bootcd_install_before
190 $(CABMAN
) /C bootdata
/packages
/reactos.dff
/L
$(BOOTCD_DIR
)/reactos
/I
191 $(CABMAN
) /C bootdata
/packages
/reactos.dff
/RC
$(BOOTCD_DIR
)/reactos
/reactos.inf
/L
$(BOOTCD_DIR
)/reactos
/N
192 - $(RM
) $(BOOTCD_DIR
)/reactos
/reactos.inf
193 $(TOOLS_PATH
)/cdmake
/cdmake
-v
-m
-b
$(BOOTCD_DIR
)/..
/isoboot.bin
$(BOOTCD_DIR
) REACTOS ReactOS.iso
196 $(CP
) bootdata
/unattend.inf
$(BOOTCD_DIR
)/reactos
/unattend.inf
198 bootcd
: bootcd_basic bootcd_makecd
200 ubootcd
: bootcd_basic ubootcd_unattend bootcd_makecd
203 $(TOOLS_PATH
)/mkhive
/mkhive
$(EXE_POSTFIX
) bootdata
$(INSTALL_DIR
)/system32
/config
205 .PHONY
: all depends implib
clean clean_before
install freeldr bootcd_directory_layout \
206 bootcd_bootstrap_files bootcd_install_before bootcd_basic bootcd_makecd ubootcd_unattend bootcd
210 # System Applications
213 $(MAKE
) -C subsys
/system
/$*
215 $(SYS_APPS
:%=%_implib
): %_implib
:
216 $(MAKE
) -C subsys
/system
/$* implib
218 $(SYS_APPS
:%=%_clean
): %_clean
:
219 $(MAKE
) -C subsys
/system
/$* clean
221 $(SYS_APPS
:%=%_install
): %_install
:
222 $(MAKE
) -C subsys
/system
/$* install
224 $(SYS_APPS
:%=%_bootcd
): %_bootcd
:
225 $(MAKE
) -C subsys
/system
/$* bootcd
227 .PHONY
: $(SYS_APPS
) $(SYS_APPS
:%=%_implib
) $(SYS_APPS
:%=%_clean
) $(SYS_APPS
:%=%_install
) $(SYS_APPS
:%=%_bootcd
)
233 $(MAKE
) -C services
/$*
235 $(SYS_SVC
:%=%_depends
): %_depends
:
236 $(MAKE
) -C services
/$* depends
238 $(SYS_SVC
:%=%_implib
): %_implib
:
239 $(MAKE
) -C services
/$* implib
241 $(SYS_SVC
:%=%_clean
): %_clean
:
242 $(MAKE
) -C services
/$* clean
244 $(SYS_SVC
:%=%_install
): %_install
:
245 $(MAKE
) -C services
/$* install
247 .PHONY
: $(SYS_SVC
) $(SYS_SVC
:%=%_depends
) $(SYS_SVC
:%=%_implib
) $(SYS_SVC
:%=%_clean
) $(SYS_SVC
:%=%_install
)
254 # Extra (optional system) Applications
260 # $(APPS:%=%_implib): %_implib:
261 # $(MAKE) -C apps/$* implib
263 $(APPS
:%=%_clean
): %_clean
:
264 $(MAKE
) -C apps
/$* clean
266 $(APPS
:%=%_install
): %_install
:
267 $(MAKE
) -C apps
/$* install
269 .PHONY
: $(APPS
) $(APPS
:%=%_implib
) $(APPS
:%=%_clean
) $(APPS
:%=%_install
)
273 # External ports and subsystem personalities
276 $(MAKE
) -C
$(ROOT_PATH
)/$*
278 $(EXTERNALS
:%=%_depends
): %_depends
:
279 $(MAKE
) -C
$(ROOT_PATH
)/$* depends
281 $(EXTERNALS
:%=%_implib
): %_implib
:
282 $(MAKE
) -C
$(ROOT_PATH
)/$* implib
284 $(EXTERNALS
:%=%_clean
): %_clean
:
285 $(MAKE
) -C
$(ROOT_PATH
)/$* clean
287 $(EXTERNALS
:%=%_install
): %_install
:
288 $(MAKE
) -C
$(ROOT_PATH
)/$* install
290 .PHONY
: $(EXTERNALS
) $(EXTERNALS
:%=%_depends
) $(EXTERNALS
:%=%_implib
) $(EXTERNALS
:%=%_clean
) $(EXTERNALS
:%=%_install
)
302 $(MAKE
) -C tools
clean
306 .PHONY
: tools tools_implib tools_clean tools_install
314 $(RMKDIR
) $(DDK_PATH
)
315 $(RMKDIR
) $(DDK_PATH_LIB
)
316 $(RMKDIR
) $(DDK_PATH_INC
)
317 $(RMKDIR
) $(SDK_PATH
)
318 $(RMKDIR
) $(SDK_PATH_LIB
)
319 $(RMKDIR
) $(SDK_PATH_INC
)
320 $(RMKDIR
) $(XDK_PATH
)
321 $(RMKDIR
) $(XDK_PATH_LIB
)
322 $(RMKDIR
) $(XDK_PATH_INC
)
326 # WARNING! Be very sure that there are no important files
327 # in these directories before cleaning them!!!
329 $(RM
) $(DDK_PATH_LIB
)/*.a
330 # $(RM) $(DDK_PATH_INC)/*.h
331 $(RMDIR
) $(DDK_PATH_LIB
)
332 # $(RMDIR) $(DDK_PATH_INC)
333 $(RM
) $(SDK_PATH_LIB
)/*.a
334 # $(RM) $(SDK_PATH_INC)/*.h
335 $(RMDIR
) $(SDK_PATH_LIB
)
336 # $(RMDIR) $(SDK_PATH_INC)
337 $(RM
) $(XDK_PATH_LIB
)/*.a
338 # $(RM) $(XDK_PATH_INC)/*.h
339 $(RMDIR
) $(XDK_PATH_LIB
)
340 # $(RMDIR) $(XDK_PATH_INC)
344 .PHONY
: dk dk_implib dk_clean dk_install
351 $(MAKE
) -C iface
/native
356 $(MAKE
) -C iface
/native
clean
358 iface_native_install
:
363 $(MAKE
) -C iface
/addsys
365 iface_additional_implib
:
367 iface_additional_clean
:
368 $(MAKE
) -C iface
/addsys
clean
370 iface_additional_install
:
372 iface_additional_bootcd
:
374 .PHONY
: iface_native iface_native_implib iface_native_clean iface_native_install \
375 iface_native_bootcd \
376 iface_additional iface_additional_implib iface_additional_clean \
377 iface_additional_install iface_additional_bootcd
384 $(MAKE
) -C drivers
/bus
/$*
386 $(BUS
:%=%_implib
): %_implib
:
387 $(MAKE
) -C drivers
/bus
/$* implib
389 $(BUS
:%=%_clean
): %_clean
:
390 $(MAKE
) -C drivers
/bus
/$* clean
392 $(BUS
:%=%_install
): %_install
:
393 $(MAKE
) -C drivers
/bus
/$* install
395 $(BUS
:%=%_bootcd
): %_bootcd
:
396 $(MAKE
) -C drivers
/bus
/$* bootcd
398 .PHONY
: $(BUS
) $(BUS
:%=%_implib
) $(BUS
:%=%_clean
) \
399 $(BUS
:%=%_install
) $(BUS
:%=%_bootcd
)
403 # Driver support libraries rules
406 $(MAKE
) -C drivers
/lib
/$*
408 $(DRIVERS_LIB
:%=%_implib
): %_implib
:
409 $(MAKE
) -C drivers
/lib
/$* implib
411 $(DRIVERS_LIB
:%=%_clean
): %_clean
:
412 $(MAKE
) -C drivers
/lib
/$* clean
414 $(DRIVERS_LIB
:%=%_install
): %_install
:
415 $(MAKE
) -C drivers
/lib
/$* install
417 $(DRIVERS_LIB
:%=%_bootcd
): %_bootcd
:
418 $(MAKE
) -C drivers
/lib
/$* bootcd
420 .PHONY
: $(DRIVERS_LIB
) $(DRIVERS_LIB
:%=%_implib
) $(DRIVERS_LIB
:%=%_clean
) \
421 $(DRIVERS_LIB
:%=%_install
) $(DRIVERS_LIB
:%=%_bootcd
)
425 # Device driver rules
427 $(DEVICE_DRIVERS
): %:
428 $(MAKE
) -C drivers
/dd
/$*
430 $(DEVICE_DRIVERS
:%=%_implib
): %_implib
:
431 $(MAKE
) -C drivers
/dd
/$* implib
433 $(DEVICE_DRIVERS
:%=%_clean
): %_clean
:
434 $(MAKE
) -C drivers
/dd
/$* clean
436 $(DEVICE_DRIVERS
:%=%_install
): %_install
:
437 $(MAKE
) -C drivers
/dd
/$* install
439 $(DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
440 $(MAKE
) -C drivers
/dd
/$* bootcd
442 .PHONY
: $(DEVICE_DRIVERS
) $(DEVICE_DRIVERS
:%=%_implib
) $(DEVICE_DRIVERS
:%=%_clean
) \
443 $(DEVICE_DRIVERS
:%=%_install
) $(DEVICE_DRIVERS
:%=%_bootcd
)
447 # Video device driver rules
450 $(MAKE
) -C drivers
/video
452 VIDEO_DRIVERS_implib
:
453 $(MAKE
) -C drivers
/video implib
456 $(MAKE
) -C drivers
/video
clean
458 VIDEO_DRIVERS_install
:
459 $(MAKE
) -C drivers
/video
install
461 VIDEO_DRIVERS_bootcd
:
462 $(MAKE
) -C drivers
/video bootcd
464 .PHONY
: VIDEO_DRIVERS VIDEO_DRIVERS_implib VIDEO_DRIVERS_clean \
465 VIDEO_DRIVERS_install VIDEO_DRIVERS_bootcd
472 $(MAKE
) -C drivers
/input
/$*
474 $(INPUT_DRIVERS
:%=%_implib
): %_implib
:
475 $(MAKE
) -C drivers
/input
/$* implib
477 $(INPUT_DRIVERS
:%=%_clean
): %_clean
:
478 $(MAKE
) -C drivers
/input
/$* clean
480 $(INPUT_DRIVERS
:%=%_install
): %_install
:
481 $(MAKE
) -C drivers
/input
/$* install
483 $(INPUT_DRIVERS
:%=%_bootcd
): %_bootcd
:
484 $(MAKE
) -C drivers
/input
/$* bootcd
486 .PHONY
: $(INPUT_DRIVERS
) $(INPUT_DRIVERS
:%=%_implib
) $(INPUT_DRIVERS
:%=%_clean
)\
487 $(INPUT_DRIVERS
:%=%_install
) $(INPUT_DRIVERS
:%=%_bootcd
)
490 # Filesystem driver rules
493 $(MAKE
) -C drivers
/fs
/$*
495 $(FS_DRIVERS
:%=%_implib
): %_implib
:
496 $(MAKE
) -C drivers
/fs
/$* implib
498 $(FS_DRIVERS
:%=%_clean
): %_clean
:
499 $(MAKE
) -C drivers
/fs
/$* clean
501 $(FS_DRIVERS
:%=%_install
): %_install
:
502 $(MAKE
) -C drivers
/fs
/$* install
504 $(FS_DRIVERS
:%=%_bootcd
): %_bootcd
:
505 $(MAKE
) -C drivers
/fs
/$* bootcd
507 .PHONY
: $(FS_DRIVERS
) $(FS_DRIVERS
:%=%_implib
) $(FS_DRIVERS
:%=%_clean
) \
508 $(FS_DRIVERS
:%=%_install
) $(FS_DRIVERS
:%=%_bootcd
)
512 # Network driver rules
515 $(MAKE
) -C drivers
/net
/$*
517 $(NET_DRIVERS
:%=%_implib
): %_implib
:
518 $(MAKE
) -C drivers
/net
/$* implib
520 $(NET_DRIVERS
:%=%_clean
): %_clean
:
521 $(MAKE
) -C drivers
/net
/$* clean
523 $(NET_DRIVERS
:%=%_install
): %_install
:
524 $(MAKE
) -C drivers
/net
/$* install
526 $(NET_DRIVERS
:%=%_bootcd
): %_bootcd
:
527 $(MAKE
) -C drivers
/net
/$* bootcd
529 .PHONY
: $(NET_DRIVERS
) $(NET_DRIVERS
:%=%_implib
) $(NET_DRIVERS
:%=%_clean
) \
530 $(NET_DRIVERS
:%=%_install
) $(NET_DRIVERS
:%=%_bootcd
)
534 # Network device driver rules
536 $(NET_DEVICE_DRIVERS
): %:
537 $(MAKE
) -C drivers
/net
/dd
/$*
539 $(NET_DEVICE_DRIVERS
:%=%_implib
): %_implib
:
540 $(MAKE
) -C drivers
/net
/dd
/$* implib
542 $(NET_DEVICE_DRIVERS
:%=%_clean
): %_clean
:
543 $(MAKE
) -C drivers
/net
/dd
/$* clean
545 $(NET_DEVICE_DRIVERS
:%=%_install
): %_install
:
546 $(MAKE
) -C drivers
/net
/dd
/$* install
548 $(NET_DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
549 $(MAKE
) -C drivers
/net
/dd
/$* bootcd
551 .PHONY
: $(NET_DEVICE_DRIVERS
) $(NET_DEVICE_DRIVERS
:%=%_clean
) $(NET_DEVICE_DRIVERS
:%=%_implib
) \
552 $(NET_DEVICE_DRIVERS
:%=%_install
) $(NET_DEVICE_DRIVERS
:%=%_bootcd
)
556 # storage driver rules
558 $(STORAGE_DRIVERS
): %:
559 $(MAKE
) -C drivers
/storage
/$*
561 $(STORAGE_DRIVERS
:%=%_implib
): %_implib
:
562 $(MAKE
) -C drivers
/storage
/$* implib
564 $(STORAGE_DRIVERS
:%=%_clean
): %_clean
:
565 $(MAKE
) -C drivers
/storage
/$* clean
567 $(STORAGE_DRIVERS
:%=%_install
): %_install
:
568 $(MAKE
) -C drivers
/storage
/$* install
570 $(STORAGE_DRIVERS
:%=%_bootcd
): %_bootcd
:
571 $(MAKE
) -C drivers
/storage
/$* bootcd
573 .PHONY
: $(STORAGE_DRIVERS
) $(STORAGE_DRIVERS
:%=%_clean
) $(STORAGE_DRIVERS
:%=%_implib
) \
574 $(STORAGE_DRIVERS
:%=%_install
) $(STORAGE_DRIVERS
:%=%_bootcd
)
581 $(MAKE
) -C loaders
/$*
583 $(LOADERS
:%=%_implib
): %_implib
:
585 $(LOADERS
:%=%_clean
): %_clean
:
586 $(MAKE
) -C loaders
/$* clean
588 $(LOADERS
:%=%_install
): %_install
:
589 $(MAKE
) -C loaders
/$* install
591 .PHONY
: $(LOADERS
) $(LOADERS
:%=%_implib
) $(LOADERS
:%=%_clean
) $(LOADERS
:%=%_install
)
595 # Required system components
601 $(MAKE
) -C ntoskrnl implib
604 $(MAKE
) -C ntoskrnl
clean
607 $(MAKE
) -C ntoskrnl
install
610 $(MAKE
) -C ntoskrnl bootcd
612 .PHONY
: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_bootcd
616 # Hardware Abstraction Layer import library
622 $(MAKE
) -C hal
/hal implib
625 $(MAKE
) -C hal
/hal
clean
628 $(MAKE
) -C hal
/hal
install
631 $(MAKE
) -C hal
/hal bootcd
633 .PHONY
: hallib hallib_implib hallib_clean hallib_install hallib_bootcd
637 # Hardware Abstraction Layers
642 $(HALS
:%=%_implib
): %_implib
:
643 $(MAKE
) -C hal
/$* implib
645 $(HALS
:%=%_clean
): %_clean
:
646 $(MAKE
) -C hal
/$* clean
648 $(HALS
:%=%_install
): %_install
:
649 $(MAKE
) -C hal
/$* install
651 $(HALS
:%=%_bootcd
): %_bootcd
:
652 $(MAKE
) -C hal
/$* bootcd
654 .PHONY
: $(HALS
) $(HALS
:%=%_implib
) $(HALS
:%=%_clean
) $(HALS
:%=%_install
) $(HALS
:%=%_bootcd
)
658 # File system libraries
661 $(MAKE
) -C lib
/fslib
/$*
663 $(LIB_FSLIB
:%=%_depends
): %_depends
:
664 $(MAKE
) -C lib
/fslib
/$* depends
666 $(LIB_FSLIB
:%=%_implib
): %_implib
:
667 $(MAKE
) -C lib
/fslib
/$* implib
669 $(LIB_FSLIB
:%=%_clean
): %_clean
:
670 $(MAKE
) -C lib
/fslib
/$* clean
672 $(LIB_FSLIB
:%=%_install
): %_install
:
673 $(MAKE
) -C lib
/fslib
/$* install
675 $(LIB_FSLIB
:%=%_bootcd
): %_bootcd
:
676 $(MAKE
) -C lib
/fslib
/$* bootcd
678 .PHONY
: $(LIB_FSLIB
) $(LIB_FSLIB
:%=%_depends
) $(LIB_FSLIB
:%=%_implib
) $(LIB_FSLIB
:%=%_clean
) \
679 $(LIB_FSLIB
:%=%_install
) $(LIB_FSLIB
:%=%_bootcd
)
688 $(LIB_STATIC
:%=%_depends
): %_depends
:
689 $(MAKE
) -C lib
/string depends
691 $(LIB_STATIC
:%=%_implib
): %_implib
:
692 $(MAKE
) -C lib
/$* implib
694 $(LIB_STATIC
:%=%_clean
): %_clean
:
695 $(MAKE
) -C lib
/$* clean
697 $(LIB_STATIC
:%=%_install
): %_install
:
698 $(MAKE
) -C lib
/$* install
700 $(LIB_STATIC
:%=%_bootcd
): %_bootcd
:
701 $(MAKE
) -C lib
/$* bootcd
703 .PHONY
: $(LIB_STATIC
) $(LIB_STATIC
:%=%_depends
) $(LIB_STATIC
:%=%_implib
) $(LIB_STATIC
:%=%_clean
) \
704 $(LIB_STATIC
:%=%_install
) $(LIB_STATIC
:%=%_bootcd
)
713 $(DLLS
:%=%_depends
): %_depends
:
714 $(MAKE
) -C lib
/$* depends
716 $(DLLS
:%=%_implib
): %_implib
:
717 $(MAKE
) -C lib
/$* implib
719 $(DLLS
:%=%_clean
): %_clean
:
720 $(MAKE
) -C lib
/$* clean
722 $(DLLS
:%=%_install
): %_install
:
723 $(MAKE
) -C lib
/$* install
725 $(DLLS
:%=%_bootcd
): %_bootcd
:
726 $(MAKE
) -C lib
/$* bootcd
728 .PHONY
: $(DLLS
) $(DLLS
:%=%_depends
) $(DLLS
:%=%_implib
) $(DLLS
:%=%_clean
) $(DLLS
:%=%_install
) \
733 # Subsystem support modules
738 $(SUBSYS
:%=%_depends
): %_depends
:
739 $(MAKE
) -C subsys
/$* depends
741 $(SUBSYS
:%=%_implib
): %_implib
:
742 $(MAKE
) -C subsys
/$* implib
744 $(SUBSYS
:%=%_clean
): %_clean
:
745 $(MAKE
) -C subsys
/$* clean
747 $(SUBSYS
:%=%_install
): %_install
:
748 $(MAKE
) -C subsys
/$* install
750 $(SUBSYS
:%=%_bootcd
): %_bootcd
:
751 $(MAKE
) -C subsys
/$* bootcd
753 .PHONY
: $(SUBSYS
) $(SUBSYS
:%=%_depends
) $(SUBSYS
:%=%_implib
) $(SUBSYS
:%=%_clean
) $(SUBSYS
:%=%_install
) \
757 # Regression testsuite
763 $(REGTESTS
:%=%_clean
): %_clean
:
764 $(MAKE
) -C regtests
clean
766 $(REGTESTS
:%=%_install
): %_install
:
767 $(MAKE
) -C regtests
install
769 .PHONY
: $(REGTESTS
) $(REGTESTS
:%=%_depends
) $(SUBSYS
:%=%_clean
) $(REGTESTS
:%=%_install
)
773 # Create an installation
777 $(RM
) $(INSTALL_DIR
)/system32
/drivers
/*.
*
778 $(RM
) $(INSTALL_DIR
)/system32
/config
/*.
*
779 $(RM
) $(INSTALL_DIR
)/system32
/*.
*
780 $(RM
) $(INSTALL_DIR
)/symbols
/*.
*
781 $(RM
) $(INSTALL_DIR
)/media
/fonts
/*.
*
782 $(RM
) $(INSTALL_DIR
)/media
/*.
*
783 $(RM
) $(INSTALL_DIR
)/bin
/*.
*
784 $(RM
) $(INSTALL_DIR
)/*.com
785 $(RM
) $(INSTALL_DIR
)/*.bat
786 $(RMDIR
) $(INSTALL_DIR
)/system32
/drivers
787 $(RMDIR
) $(INSTALL_DIR
)/system32
/config
788 $(RMDIR
) $(INSTALL_DIR
)/system32
789 $(RMDIR
) $(INSTALL_DIR
)/symbols
790 $(RMDIR
) $(INSTALL_DIR
)/media
/fonts
791 $(RMDIR
) $(INSTALL_DIR
)/media
792 $(RMDIR
) $(INSTALL_DIR
)/bin
793 $(RMDIR
) $(INSTALL_DIR
)
796 $(RMKDIR
) $(INSTALL_DIR
)
797 $(RMKDIR
) $(INSTALL_DIR
)/bin
798 $(RMKDIR
) $(INSTALL_DIR
)/media
799 $(RMKDIR
) $(INSTALL_DIR
)/media
/fonts
800 $(RMKDIR
) $(INSTALL_DIR
)/symbols
801 $(RMKDIR
) $(INSTALL_DIR
)/system32
802 $(RMKDIR
) $(INSTALL_DIR
)/system32
/config
803 $(RMKDIR
) $(INSTALL_DIR
)/system32
/drivers
806 $(CP
) bootc.lst
$(INSTALL_DIR
)/bootc.lst
807 $(CP
) boot.bat
$(INSTALL_DIR
)/boot.bat
808 $(CP
) aboot.bat
$(INSTALL_DIR
)/aboot.bat
809 $(CP
) media
/fonts
$(INSTALL_DIR
)/media
/fonts
810 $(CP
) media
/nls
$(INSTALL_DIR
)/system32
811 $(CP
) media
/nls
/c_1252.nls
$(INSTALL_DIR
)/system32
/ansi.nls
812 $(CP
) media
/nls
/c_437.nls
$(INSTALL_DIR
)/system32
/oem.nls
813 $(CP
) media
/nls
/l_intl.nls
$(INSTALL_DIR
)/system32
/casemap.nls
815 .PHONY
: install_clean install_dirs install_before
819 find .
-name
"*.[ch]" -print | etags
--language
=c
-
823 echo generating ReactOS NTOSKRNL documentation ...
824 $(MAKE
) -C ntoskrnl docu
826 echo generating ReactOS drivers documentation ...
827 $(MAKE
) -C drivers docu
829 echo generating ReactOS NTDLL documentation ...
830 $(MAKE
) -C lib
/ntdll docu
832 echo generating ReactOS Freetype documentation ...
833 $(MAKE
) -C lib
/freetype docu
835 echo generating ReactOS libs documentation ...
838 echo generating ReactOS WIN32K documentation ...
839 $(MAKE
) -C subsys
/win32k docu
841 echo generating ReactOS apps
+tools documentation ...
844 echo generating ReactOS explorer documentation ...
845 $(MAKE
) -C subsys
/system
/explorer full-docu
847 echo generating remaining ReactOS documentation ...