1 # $Id: Makefile,v 1.190 2003/12/07 13:08:01 mf 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 zlib
37 # Keyboard layout libraries
38 DLLS_KBD
= kbdus kbdgr kbdfr
41 # advapi32 cards crtdll 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
= libwine advapi32 cards crtdll fmifs freetype gdi32 kernel32 packet lzexpand \
45 msafd msvcrt ntdll psapi richedit rpcrt4 secur32 syssetup twain user32 version \
46 winspool ws2help ws2_32 wsock32 wshirda iphlpapi msgina mswsock msimg32 d3d8thk \
47 winmm ole32 comctl32
$(DLLS_KBD
)
49 SUBSYS
= smss win32k csrss ntvdm
52 # Select the server(s) you want to build
54 #SERVERS = posix linux os2
61 # Driver support libraries
65 # Kernel mode device drivers
67 # beep blue floppy null parallel ramdrv serenum serial vga videoprt
68 DEVICE_DRIVERS
= beep blue debugout floppy null serial vga videoprt bootvid
70 # Kernel mode input drivers
71 INPUT_DRIVERS
= keyboard mouclass psaux sermouse
73 # Kernel mode file system drivers
74 # cdfs ext2 fs_rec ms np vfat
75 FS_DRIVERS
= cdfs fs_rec ms np vfat mup ntfs
77 # Kernel mode networking drivers
78 # afd ndis npf tcpip tdi wshtcpip
79 NET_DRIVERS
= afd ndis npf tcpip tdi wshtcpip
81 # Kernel mode networking device drivers
83 NET_DEVICE_DRIVERS
= ne2000 pcnet
85 # Kernel mode storage drivers
86 # atapi cdrom class2 disk scsiport
87 STORAGE_DRIVERS
= atapi cdrom class2 disk scsiport diskdump
90 # autochk cmd format services setup usetup welcome winlogon
91 SYS_APPS
= autochk cmd format services setup usetup welcome winlogon userinit
95 SYS_SVC
= rpcss eventlog
97 APPS
= tests testsets utils
100 # External (sub)systems for ReactOS
101 # rosapps wine posix os2 (requires c++) java (non-existant)
102 EXTERNALS
= rosapps wine posix os2
104 ifeq ($(ROS_BUILD_EXT
),yes
)
105 EXT_MODULES
= $(EXTERNALS
)
110 KERNEL_DRIVERS
= $(DRIVERS_LIB
) $(DEVICE_DRIVERS
) $(INPUT_DRIVERS
) $(FS_DRIVERS
) \
111 $(NET_DRIVERS
) $(NET_DEVICE_DRIVERS
) $(STORAGE_DRIVERS
)
116 all: tools dk implib
$(LIB_STATIC
) $(COMPONENTS
) $(HALS
) $(BUS
) $(LIB_FSLIB
) $(DLLS
) $(SUBSYS
) \
117 $(LOADERS
) $(KERNEL_DRIVERS
) $(SYS_APPS
) $(SYS_SVC
) \
118 $(APPS
) $(EXT_MODULES
) $(REGTESTS
)
120 #config: $(TOOLS:%=%_config)
122 depends
: $(LIB_STATIC
:%=%_depends
) $(LIB_FSLIB
:%=%_depends
) $(DLLS
:%=%_depends
) $(SUBSYS
:%=%_depends
) $(SYS_SVC
:%=%_depends
) \
123 $(EXT_MODULES
:%=%_depends
) $(POSIX_LIBS
:%=%_depends
)
125 implib
: $(COMPONENTS
:%=%_implib
) $(HALS
:%=%_implib
) $(BUS
:%=%_implib
) \
126 $(LIB_STATIC
:%=%_implib
) $(LIB_FSLIB
:%=%_implib
) $(DLLS
:%=%_implib
) $(LOADERS
:%=%_implib
) \
127 $(KERNEL_DRIVERS
:%=%_implib
) $(SUBSYS
:%=%_implib
) \
128 $(SYS_APPS
:%=%_implib
) $(SYS_SVC
:%=%_implib
) \
129 $(APPS
:%=%_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
259 $(APPS
:%=%_implib
): %_implib
:
260 $(MAKE
) -C apps
/$* implib
262 $(APPS
:%=%_clean
): %_clean
:
263 $(MAKE
) -C apps
/$* clean
265 $(APPS
:%=%_install
): %_install
:
266 $(MAKE
) -C apps
/$* install
268 .PHONY
: $(APPS
) $(APPS
:%=%_implib
) $(APPS
:%=%_clean
) $(APPS
:%=%_install
)
272 # External ports and subsystem personalities
275 $(MAKE
) -C
$(ROOT_PATH
)/$*
277 $(EXTERNALS
:%=%_depends
): %_depends
:
278 $(MAKE
) -C
$(ROOT_PATH
)/$* depends
280 $(EXTERNALS
:%=%_implib
): %_implib
:
281 $(MAKE
) -C
$(ROOT_PATH
)/$* implib
283 $(EXTERNALS
:%=%_clean
): %_clean
:
284 $(MAKE
) -C
$(ROOT_PATH
)/$* clean
286 $(EXTERNALS
:%=%_install
): %_install
:
287 $(MAKE
) -C
$(ROOT_PATH
)/$* install
289 .PHONY
: $(EXTERNALS
) $(EXTERNALS
:%=%_depends
) $(EXTERNALS
:%=%_implib
) $(EXTERNALS
:%=%_clean
) $(EXTERNALS
:%=%_install
)
301 $(MAKE
) -C tools
clean
305 .PHONY
: tools tools_implib tools_clean tools_install
313 $(RMKDIR
) $(DDK_PATH
)
314 $(RMKDIR
) $(DDK_PATH_LIB
)
315 $(RMKDIR
) $(DDK_PATH_INC
)
316 $(RMKDIR
) $(SDK_PATH
)
317 $(RMKDIR
) $(SDK_PATH_LIB
)
318 $(RMKDIR
) $(SDK_PATH_INC
)
319 $(RMKDIR
) $(XDK_PATH
)
320 $(RMKDIR
) $(XDK_PATH_LIB
)
321 $(RMKDIR
) $(XDK_PATH_INC
)
325 # WARNING! Be very sure that there are no important files
326 # in these directories before cleaning them!!!
328 $(RM
) $(DDK_PATH_LIB
)/*.a
329 # $(RM) $(DDK_PATH_INC)/*.h
330 $(RMDIR
) $(DDK_PATH_LIB
)
331 # $(RMDIR) $(DDK_PATH_INC)
332 $(RM
) $(SDK_PATH_LIB
)/*.a
333 # $(RM) $(SDK_PATH_INC)/*.h
334 $(RMDIR
) $(SDK_PATH_LIB
)
335 # $(RMDIR) $(SDK_PATH_INC)
336 $(RM
) $(XDK_PATH_LIB
)/*.a
337 # $(RM) $(XDK_PATH_INC)/*.h
338 $(RMDIR
) $(XDK_PATH_LIB
)
339 # $(RMDIR) $(XDK_PATH_INC)
343 .PHONY
: dk dk_implib dk_clean dk_install
350 $(MAKE
) -C iface
/native
355 $(MAKE
) -C iface
/native
clean
357 iface_native_install
:
362 $(MAKE
) -C iface
/addsys
364 iface_additional_implib
:
366 iface_additional_clean
:
367 $(MAKE
) -C iface
/addsys
clean
369 iface_additional_install
:
371 iface_additional_bootcd
:
373 .PHONY
: iface_native iface_native_implib iface_native_clean iface_native_install \
374 iface_native_bootcd \
375 iface_additional iface_additional_implib iface_additional_clean \
376 iface_additional_install iface_additional_bootcd
383 $(MAKE
) -C drivers
/bus
/$*
385 $(BUS
:%=%_implib
): %_implib
:
386 $(MAKE
) -C drivers
/bus
/$* implib
388 $(BUS
:%=%_clean
): %_clean
:
389 $(MAKE
) -C drivers
/bus
/$* clean
391 $(BUS
:%=%_install
): %_install
:
392 $(MAKE
) -C drivers
/bus
/$* install
394 $(BUS
:%=%_bootcd
): %_bootcd
:
395 $(MAKE
) -C drivers
/bus
/$* bootcd
397 .PHONY
: $(BUS
) $(BUS
:%=%_implib
) $(BUS
:%=%_clean
) \
398 $(BUS
:%=%_install
) $(BUS
:%=%_bootcd
)
402 # Driver support libraries rules
405 $(MAKE
) -C drivers
/lib
/$*
407 $(DRIVERS_LIB
:%=%_implib
): %_implib
:
408 $(MAKE
) -C drivers
/lib
/$* implib
410 $(DRIVERS_LIB
:%=%_clean
): %_clean
:
411 $(MAKE
) -C drivers
/lib
/$* clean
413 $(DRIVERS_LIB
:%=%_install
): %_install
:
414 $(MAKE
) -C drivers
/lib
/$* install
416 $(DRIVERS_LIB
:%=%_bootcd
): %_bootcd
:
417 $(MAKE
) -C drivers
/lib
/$* bootcd
419 .PHONY
: $(DRIVERS_LIB
) $(DRIVERS_LIB
:%=%_implib
) $(DRIVERS_LIB
:%=%_clean
) \
420 $(DRIVERS_LIB
:%=%_install
) $(DRIVERS_LIB
:%=%_bootcd
)
424 # Device driver rules
426 $(DEVICE_DRIVERS
): %:
427 $(MAKE
) -C drivers
/dd
/$*
429 $(DEVICE_DRIVERS
:%=%_implib
): %_implib
:
430 $(MAKE
) -C drivers
/dd
/$* implib
432 $(DEVICE_DRIVERS
:%=%_clean
): %_clean
:
433 $(MAKE
) -C drivers
/dd
/$* clean
435 $(DEVICE_DRIVERS
:%=%_install
): %_install
:
436 $(MAKE
) -C drivers
/dd
/$* install
438 $(DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
439 $(MAKE
) -C drivers
/dd
/$* bootcd
441 .PHONY
: $(DEVICE_DRIVERS
) $(DEVICE_DRIVERS
:%=%_implib
) $(DEVICE_DRIVERS
:%=%_clean
) \
442 $(DEVICE_DRIVERS
:%=%_install
) $(DEVICE_DRIVERS
:%=%_bootcd
)
449 $(MAKE
) -C drivers
/input
/$*
451 $(INPUT_DRIVERS
:%=%_implib
): %_implib
:
452 $(MAKE
) -C drivers
/input
/$* implib
454 $(INPUT_DRIVERS
:%=%_clean
): %_clean
:
455 $(MAKE
) -C drivers
/input
/$* clean
457 $(INPUT_DRIVERS
:%=%_install
): %_install
:
458 $(MAKE
) -C drivers
/input
/$* install
460 $(INPUT_DRIVERS
:%=%_bootcd
): %_bootcd
:
461 $(MAKE
) -C drivers
/input
/$* bootcd
463 .PHONY
: $(INPUT_DRIVERS
) $(INPUT_DRIVERS
:%=%_implib
) $(INPUT_DRIVERS
:%=%_clean
)\
464 $(INPUT_DRIVERS
:%=%_install
) $(INPUT_DRIVERS
:%=%_bootcd
)
468 # Filesystem driver rules
471 $(MAKE
) -C drivers
/fs
/$*
473 $(FS_DRIVERS
:%=%_implib
): %_implib
:
474 $(MAKE
) -C drivers
/fs
/$* implib
476 $(FS_DRIVERS
:%=%_clean
): %_clean
:
477 $(MAKE
) -C drivers
/fs
/$* clean
479 $(FS_DRIVERS
:%=%_install
): %_install
:
480 $(MAKE
) -C drivers
/fs
/$* install
482 $(FS_DRIVERS
:%=%_bootcd
): %_bootcd
:
483 $(MAKE
) -C drivers
/fs
/$* bootcd
485 .PHONY
: $(FS_DRIVERS
) $(FS_DRIVERS
:%=%_implib
) $(FS_DRIVERS
:%=%_clean
) \
486 $(FS_DRIVERS
:%=%_install
) $(FS_DRIVERS
:%=%_bootcd
)
490 # Network driver rules
493 $(MAKE
) -C drivers
/net
/$*
495 $(NET_DRIVERS
:%=%_implib
): %_implib
:
496 $(MAKE
) -C drivers
/net
/$* implib
498 $(NET_DRIVERS
:%=%_clean
): %_clean
:
499 $(MAKE
) -C drivers
/net
/$* clean
501 $(NET_DRIVERS
:%=%_install
): %_install
:
502 $(MAKE
) -C drivers
/net
/$* install
504 $(NET_DRIVERS
:%=%_bootcd
): %_bootcd
:
505 $(MAKE
) -C drivers
/net
/$* bootcd
507 .PHONY
: $(NET_DRIVERS
) $(NET_DRIVERS
:%=%_implib
) $(NET_DRIVERS
:%=%_clean
) \
508 $(NET_DRIVERS
:%=%_install
) $(NET_DRIVERS
:%=%_bootcd
)
512 # Network device driver rules
514 $(NET_DEVICE_DRIVERS
): %:
515 $(MAKE
) -C drivers
/net
/dd
/$*
517 $(NET_DEVICE_DRIVERS
:%=%_implib
): %_implib
:
518 $(MAKE
) -C drivers
/net
/dd
/$* implib
520 $(NET_DEVICE_DRIVERS
:%=%_clean
): %_clean
:
521 $(MAKE
) -C drivers
/net
/dd
/$* clean
523 $(NET_DEVICE_DRIVERS
:%=%_install
): %_install
:
524 $(MAKE
) -C drivers
/net
/dd
/$* install
526 $(NET_DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
527 $(MAKE
) -C drivers
/net
/dd
/$* bootcd
529 .PHONY
: $(NET_DEVICE_DRIVERS
) $(NET_DEVICE_DRIVERS
:%=%_clean
) $(NET_DEVICE_DRIVERS
:%=%_implib
) \
530 $(NET_DEVICE_DRIVERS
:%=%_install
) $(NET_DEVICE_DRIVERS
:%=%_bootcd
)
534 # storage driver rules
536 $(STORAGE_DRIVERS
): %:
537 $(MAKE
) -C drivers
/storage
/$*
539 $(STORAGE_DRIVERS
:%=%_implib
): %_implib
:
540 $(MAKE
) -C drivers
/storage
/$* implib
542 $(STORAGE_DRIVERS
:%=%_clean
): %_clean
:
543 $(MAKE
) -C drivers
/storage
/$* clean
545 $(STORAGE_DRIVERS
:%=%_install
): %_install
:
546 $(MAKE
) -C drivers
/storage
/$* install
548 $(STORAGE_DRIVERS
:%=%_bootcd
): %_bootcd
:
549 $(MAKE
) -C drivers
/storage
/$* bootcd
551 .PHONY
: $(STORAGE_DRIVERS
) $(STORAGE_DRIVERS
:%=%_clean
) $(STORAGE_DRIVERS
:%=%_implib
) \
552 $(STORAGE_DRIVERS
:%=%_install
) $(STORAGE_DRIVERS
:%=%_bootcd
)
559 $(MAKE
) -C loaders
/$*
561 $(LOADERS
:%=%_implib
): %_implib
:
563 $(LOADERS
:%=%_clean
): %_clean
:
564 $(MAKE
) -C loaders
/$* clean
566 $(LOADERS
:%=%_install
): %_install
:
567 $(MAKE
) -C loaders
/$* install
569 .PHONY
: $(LOADERS
) $(LOADERS
:%=%_implib
) $(LOADERS
:%=%_clean
) $(LOADERS
:%=%_install
)
573 # Required system components
579 $(MAKE
) -C ntoskrnl implib
582 $(MAKE
) -C ntoskrnl
clean
585 $(MAKE
) -C ntoskrnl
install
588 $(MAKE
) -C ntoskrnl bootcd
590 .PHONY
: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_bootcd
594 # Hardware Abstraction Layer import library
600 $(MAKE
) -C hal
/hal implib
603 $(MAKE
) -C hal
/hal
clean
606 $(MAKE
) -C hal
/hal
install
609 $(MAKE
) -C hal
/hal bootcd
611 .PHONY
: hallib hallib_implib hallib_clean hallib_install hallib_bootcd
615 # 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
:%=%_bootcd
): %_bootcd
:
630 $(MAKE
) -C hal
/$* bootcd
632 .PHONY
: $(HALS
) $(HALS
:%=%_implib
) $(HALS
:%=%_clean
) $(HALS
:%=%_install
) $(HALS
:%=%_bootcd
)
636 # File system libraries
639 $(MAKE
) -C lib
/fslib
/$*
641 $(LIB_FSLIB
:%=%_depends
): %_depends
:
642 $(MAKE
) -C lib
/fslib
/$* depends
644 $(LIB_FSLIB
:%=%_implib
): %_implib
:
645 $(MAKE
) -C lib
/fslib
/$* implib
647 $(LIB_FSLIB
:%=%_clean
): %_clean
:
648 $(MAKE
) -C lib
/fslib
/$* clean
650 $(LIB_FSLIB
:%=%_install
): %_install
:
651 $(MAKE
) -C lib
/fslib
/$* install
653 $(LIB_FSLIB
:%=%_bootcd
): %_bootcd
:
654 $(MAKE
) -C lib
/fslib
/$* bootcd
656 .PHONY
: $(LIB_FSLIB
) $(LIB_FSLIB
:%=%_depends
) $(LIB_FSLIB
:%=%_implib
) $(LIB_FSLIB
:%=%_clean
) \
657 $(LIB_FSLIB
:%=%_install
) $(LIB_FSLIB
:%=%_bootcd
)
666 $(LIB_STATIC
:%=%_depends
): %_depends
:
667 $(MAKE
) -C lib
/string depends
669 $(LIB_STATIC
:%=%_implib
): %_implib
:
670 $(MAKE
) -C lib
/$* implib
672 $(LIB_STATIC
:%=%_clean
): %_clean
:
673 $(MAKE
) -C lib
/$* clean
675 $(LIB_STATIC
:%=%_install
): %_install
:
676 $(MAKE
) -C lib
/$* install
678 $(LIB_STATIC
:%=%_bootcd
): %_bootcd
:
679 $(MAKE
) -C lib
/$* bootcd
681 .PHONY
: $(LIB_STATIC
) $(LIB_STATIC
:%=%_depends
) $(LIB_STATIC
:%=%_implib
) $(LIB_STATIC
:%=%_clean
) \
682 $(LIB_STATIC
:%=%_install
) $(LIB_STATIC
:%=%_bootcd
)
691 $(DLLS
:%=%_depends
): %_depends
:
692 $(MAKE
) -C lib
/$* depends
694 $(DLLS
:%=%_implib
): %_implib
:
695 $(MAKE
) -C lib
/$* implib
697 $(DLLS
:%=%_clean
): %_clean
:
698 $(MAKE
) -C lib
/$* clean
700 $(DLLS
:%=%_install
): %_install
:
701 $(MAKE
) -C lib
/$* install
703 $(DLLS
:%=%_bootcd
): %_bootcd
:
704 $(MAKE
) -C lib
/$* bootcd
706 .PHONY
: $(DLLS
) $(DLLS
:%=%_depends
) $(DLLS
:%=%_implib
) $(DLLS
:%=%_clean
) $(DLLS
:%=%_install
) \
711 # Subsystem support modules
716 $(SUBSYS
:%=%_depends
): %_depends
:
717 $(MAKE
) -C subsys
/$* depends
719 $(SUBSYS
:%=%_implib
): %_implib
:
720 $(MAKE
) -C subsys
/$* implib
722 $(SUBSYS
:%=%_clean
): %_clean
:
723 $(MAKE
) -C subsys
/$* clean
725 $(SUBSYS
:%=%_install
): %_install
:
726 $(MAKE
) -C subsys
/$* install
728 $(SUBSYS
:%=%_bootcd
): %_bootcd
:
729 $(MAKE
) -C subsys
/$* bootcd
731 .PHONY
: $(SUBSYS
) $(SUBSYS
:%=%_depends
) $(SUBSYS
:%=%_implib
) $(SUBSYS
:%=%_clean
) $(SUBSYS
:%=%_install
) \
735 # Regression testsuite
741 $(REGTESTS
:%=%_clean
): %_clean
:
742 $(MAKE
) -C regtests
clean
744 $(REGTESTS
:%=%_install
): %_install
:
745 $(MAKE
) -C regtests
install
747 .PHONY
: $(REGTESTS
) $(REGTESTS
:%=%_depends
) $(SUBSYS
:%=%_clean
) $(REGTESTS
:%=%_install
)
751 # Create an installation
755 $(RM
) $(INSTALL_DIR
)/system32
/drivers
/*.
*
756 $(RM
) $(INSTALL_DIR
)/system32
/config
/*.
*
757 $(RM
) $(INSTALL_DIR
)/system32
/*.
*
758 $(RM
) $(INSTALL_DIR
)/symbols
/*.
*
759 $(RM
) $(INSTALL_DIR
)/media
/fonts
/*.
*
760 $(RM
) $(INSTALL_DIR
)/media
/*.
*
761 $(RM
) $(INSTALL_DIR
)/bin
/*.
*
762 $(RM
) $(INSTALL_DIR
)/*.com
763 $(RM
) $(INSTALL_DIR
)/*.bat
764 $(RMDIR
) $(INSTALL_DIR
)/system32
/drivers
765 $(RMDIR
) $(INSTALL_DIR
)/system32
/config
766 $(RMDIR
) $(INSTALL_DIR
)/system32
767 $(RMDIR
) $(INSTALL_DIR
)/symbols
768 $(RMDIR
) $(INSTALL_DIR
)/media
/fonts
769 $(RMDIR
) $(INSTALL_DIR
)/media
770 $(RMDIR
) $(INSTALL_DIR
)/bin
771 $(RMDIR
) $(INSTALL_DIR
)
774 $(RMKDIR
) $(INSTALL_DIR
)
775 $(RMKDIR
) $(INSTALL_DIR
)/bin
776 $(RMKDIR
) $(INSTALL_DIR
)/media
777 $(RMKDIR
) $(INSTALL_DIR
)/media
/fonts
778 $(RMKDIR
) $(INSTALL_DIR
)/symbols
779 $(RMKDIR
) $(INSTALL_DIR
)/system32
780 $(RMKDIR
) $(INSTALL_DIR
)/system32
/config
781 $(RMKDIR
) $(INSTALL_DIR
)/system32
/drivers
784 $(CP
) bootc.lst
$(INSTALL_DIR
)/bootc.lst
785 $(CP
) boot.bat
$(INSTALL_DIR
)/boot.bat
786 $(CP
) aboot.bat
$(INSTALL_DIR
)/aboot.bat
787 $(CP
) media
/fonts
$(INSTALL_DIR
)/media
/fonts
788 $(CP
) media
/nls
$(INSTALL_DIR
)/system32
789 $(CP
) media
/nls
/c_1252.nls
$(INSTALL_DIR
)/system32
/ansi.nls
790 $(CP
) media
/nls
/c_437.nls
$(INSTALL_DIR
)/system32
/oem.nls
791 $(CP
) media
/nls
/l_intl.nls
$(INSTALL_DIR
)/system32
/casemap.nls
793 .PHONY
: install_clean install_dirs install_before
797 find .
-name
"*.[ch]" -print | etags
--language
=c
-
801 echo generating ReactOS NTOSKRNL documentation ...
802 $(MAKE
) -C ntoskrnl docu
804 echo generating ReactOS drivers documentation ...
805 $(MAKE
) -C drivers docu
807 echo generating ReactOS NTDLL documentation ...
808 $(MAKE
) -C lib
/ntdll docu
810 echo generating ReactOS Freetype documentation ...
811 $(MAKE
) -C lib
/freetype docu
813 echo generating ReactOS libs documentation ...
816 echo generating ReactOS WIN32K documentation ...
817 $(MAKE
) -C subsys
/win32k docu
819 echo generating ReactOS apps
+tools documentation ...
822 echo generating ReactOS explorer documentation ...
823 $(MAKE
) -C subsys
/system
/explorer
825 echo generating remaining ReactOS documentation ...