1 # $Id: Makefile,v 1.196 2004/01/01 15:26:04 weiden 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 kbduk
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 comctl32
$(DLLS_KBD
)
49 # Uncomment this after the update W32API headers will be released.
50 # DLLS += ole32 shlwapi
52 SUBSYS
= smss win32k csrss ntvdm
55 # Select the server(s) you want to build
57 #SERVERS = posix linux os2
64 # Driver support libraries
68 # Kernel mode device drivers
70 # beep blue floppy null parallel ramdrv serenum serial vga videoprt
71 DEVICE_DRIVERS
= beep blue debugout floppy null serial vga videoprt bootvid
73 # Kernel mode input drivers
74 INPUT_DRIVERS
= keyboard mouclass psaux sermouse
76 # Kernel mode file system drivers
77 # cdfs ext2 fs_rec ms np vfat
78 FS_DRIVERS
= cdfs fs_rec ms np vfat mup ntfs
80 # Kernel mode networking drivers
81 # afd ndis npf tcpip tdi wshtcpip
82 NET_DRIVERS
= afd ndis npf tcpip tdi wshtcpip
84 # Kernel mode networking device drivers
86 NET_DEVICE_DRIVERS
= ne2000 pcnet
88 # Kernel mode storage drivers
89 # atapi cdrom class2 disk scsiport
90 STORAGE_DRIVERS
= atapi cdrom class2 disk scsiport diskdump
93 # autochk cmd format services setup usetup welcome winlogon
94 SYS_APPS
= autochk cmd explorer format services setup userinit usetup welcome winlogon regedit
98 SYS_SVC
= rpcss eventlog
100 APPS
= tests testsets utils
103 # External (sub)systems for ReactOS
104 # rosapps wine posix os2 (requires c++) java (non-existant)
105 EXTERNALS
= rosapps wine posix os2
107 ifeq ($(ROS_BUILD_EXT
),yes
)
108 EXT_MODULES
= $(EXTERNALS
)
113 KERNEL_DRIVERS
= $(DRIVERS_LIB
) $(DEVICE_DRIVERS
) $(INPUT_DRIVERS
) $(FS_DRIVERS
) \
114 $(NET_DRIVERS
) $(NET_DEVICE_DRIVERS
) $(STORAGE_DRIVERS
)
119 all: tools dk implib
$(LIB_STATIC
) $(COMPONENTS
) $(HALS
) $(BUS
) $(LIB_FSLIB
) $(DLLS
) $(SUBSYS
) \
120 $(LOADERS
) $(KERNEL_DRIVERS
) $(SYS_APPS
) $(SYS_SVC
) \
121 $(APPS
) $(EXT_MODULES
) $(REGTESTS
)
123 #config: $(TOOLS:%=%_config)
125 depends
: $(LIB_STATIC
:%=%_depends
) $(LIB_FSLIB
:%=%_depends
) $(DLLS
:%=%_depends
) $(SUBSYS
:%=%_depends
) $(SYS_SVC
:%=%_depends
) \
126 $(EXT_MODULES
:%=%_depends
) $(POSIX_LIBS
:%=%_depends
)
128 implib
: $(COMPONENTS
:%=%_implib
) $(HALS
:%=%_implib
) $(BUS
:%=%_implib
) \
129 $(LIB_STATIC
:%=%_implib
) $(LIB_FSLIB
:%=%_implib
) $(DLLS
:%=%_implib
) $(LOADERS
:%=%_implib
) \
130 $(KERNEL_DRIVERS
:%=%_implib
) $(SUBSYS
:%=%_implib
) \
131 $(SYS_APPS
:%=%_implib
) $(SYS_SVC
:%=%_implib
) \
132 $(APPS
:%=%_implib
) $(EXT_MODULES
:%=%_implib
)
134 clean: tools dk_clean
$(HALS
:%=%_clean
) \
135 $(COMPONENTS
:%=%_clean
) $(BUS
:%=%_clean
) $(LIB_STATIC
:%=%_clean
) $(LIB_FSLIB
:%=%_clean
) $(DLLS
:%=%_clean
) \
136 $(LOADERS
:%=%_clean
) $(KERNEL_DRIVERS
:%=%_clean
) $(SUBSYS
:%=%_clean
) \
137 $(SYS_APPS
:%=%_clean
) $(SYS_SVC
:%=%_clean
) \
138 $(NET_APPS
:%=%_clean
) \
139 $(APPS
:%=%_clean
) $(EXT_MODULES
:%=%_clean
) $(REGTESTS
:%=%_clean
) \
140 clean_after tools_clean
143 $(RM
) $(PATH_TO_TOP
)/include/roscfg.h
145 install: tools install_dirs install_before \
146 $(COMPONENTS
:%=%_install
) $(HALS
:%=%_install
) $(BUS
:%=%_install
) \
147 $(LIB_STATIC
:%=%_install
) $(LIB_FSLIB
:%=%_install
) $(DLLS
:%=%_install
) $(LOADERS
:%=%_install
) \
148 $(KERNEL_DRIVERS
:%=%_install
) $(SUBSYS
:%=%_install
) \
149 $(SYS_APPS
:%=%_install
) $(SYS_SVC
:%=%_install
) \
150 $(APPS
:%=%_install
) $(EXT_MODULES
:%=%_install
) $(REGTESTS
:%=%_install
) \
153 FREELDR_DIR
= ..
/freeldr
156 $(MAKE
) -C
$(FREELDR_DIR
)
158 bootcd_directory_layout
:
159 $(RMKDIR
) $(BOOTCD_DIR
)
160 $(RMKDIR
) $(BOOTCD_DIR
)/bootdisk
161 $(RMKDIR
) $(BOOTCD_DIR
)/loader
162 $(RMKDIR
) $(BOOTCD_DIR
)/reactos
163 $(RMKDIR
) $(BOOTCD_DIR
)/reactos
/system32
164 $(CP
) ${FREELDR_DIR}/bootsect
/isoboot.bin
${BOOTCD_DIR}/..
/isoboot.bin
165 $(CP
) ${FREELDR_DIR}/bootsect
/dosmbr.bin
${BOOTCD_DIR}/loader
/dosmbr.bin
166 $(CP
) ${FREELDR_DIR}/bootsect
/ext2.bin
${BOOTCD_DIR}/loader
/ext2.bin
167 $(CP
) ${FREELDR_DIR}/bootsect
/fat.bin
${BOOTCD_DIR}/loader
/fat.bin
168 $(CP
) ${FREELDR_DIR}/bootsect
/fat32.bin
${BOOTCD_DIR}/loader
/fat32.bin
169 $(CP
) ${FREELDR_DIR}/bootsect
/isoboot.bin
${BOOTCD_DIR}/loader
/isoboot.bin
170 $(CP
) ${FREELDR_DIR}/freeldr
/obj
/i386
/freeldr.sys
${BOOTCD_DIR}/loader
/freeldr.sys
171 $(CP
) ${FREELDR_DIR}/freeldr
/obj
/i386
/setupldr.sys
${BOOTCD_DIR}/loader
/setupldr.sys
173 bootcd_bootstrap_files
: $(COMPONENTS
:%=%_bootcd
) $(HALS
:%=%_bootcd
) $(BUS
:%=%_bootcd
) \
174 $(LIB_STATIC
:%=%_bootcd
) $(LIB_FSLIB
:%=%_bootcd
) $(DLLS
:%=%_bootcd
) $(KERNEL_DRIVERS
:%=%_bootcd
) \
175 $(SUBSYS
:%=%_bootcd
) $(SYS_APPS
:%=%_bootcd
)
177 bootcd_install_before
:
178 $(RLINE
) bootdata
/autorun.inf
$(BOOTCD_DIR
)/autorun.inf
179 $(RLINE
) bootdata
/readme.txt
$(BOOTCD_DIR
)/readme.txt
180 $(RLINE
) bootdata
/hivecls.inf
$(BOOTCD_DIR
)/reactos
/hivecls.inf
181 $(RLINE
) bootdata
/hivedef.inf
$(BOOTCD_DIR
)/reactos
/hivedef.inf
182 $(RLINE
) bootdata
/hivesft.inf
$(BOOTCD_DIR
)/reactos
/hivesft.inf
183 $(RLINE
) bootdata
/hivesys.inf
$(BOOTCD_DIR
)/reactos
/hivesys.inf
184 $(RLINE
) bootdata
/txtsetup.sif
$(BOOTCD_DIR
)/reactos
/txtsetup.sif
185 $(CP
) bootdata
/icon.ico
$(BOOTCD_DIR
)/icon.ico
186 $(CP
) media
/nls
/c_1252.nls
$(BOOTCD_DIR
)/reactos
/c_1252.nls
187 $(CP
) media
/nls
/c_437.nls
$(BOOTCD_DIR
)/reactos
/c_437.nls
188 $(CP
) media
/nls
/l_intl.nls
$(BOOTCD_DIR
)/reactos
/l_intl.nls
190 bootcd_basic
: bootcd_directory_layout bootcd_bootstrap_files bootcd_install_before
193 $(CABMAN
) /C bootdata
/packages
/reactos.dff
/L
$(BOOTCD_DIR
)/reactos
/I
194 $(CABMAN
) /C bootdata
/packages
/reactos.dff
/RC
$(BOOTCD_DIR
)/reactos
/reactos.inf
/L
$(BOOTCD_DIR
)/reactos
/N
195 - $(RM
) $(BOOTCD_DIR
)/reactos
/reactos.inf
196 $(TOOLS_PATH
)/cdmake
/cdmake
-v
-m
-b
$(BOOTCD_DIR
)/..
/isoboot.bin
$(BOOTCD_DIR
) REACTOS ReactOS.iso
199 $(CP
) bootdata
/unattend.inf
$(BOOTCD_DIR
)/reactos
/unattend.inf
201 bootcd
: bootcd_basic bootcd_makecd
203 ubootcd
: bootcd_basic ubootcd_unattend bootcd_makecd
206 $(TOOLS_PATH
)/mkhive
/mkhive
$(EXE_POSTFIX
) bootdata
$(INSTALL_DIR
)/system32
/config
208 .PHONY
: all depends implib
clean clean_before
install freeldr bootcd_directory_layout \
209 bootcd_bootstrap_files bootcd_install_before bootcd_basic bootcd_makecd ubootcd_unattend bootcd
213 # System Applications
216 $(MAKE
) -C subsys
/system
/$*
218 $(SYS_APPS
:%=%_implib
): %_implib
:
219 $(MAKE
) -C subsys
/system
/$* implib
221 $(SYS_APPS
:%=%_clean
): %_clean
:
222 $(MAKE
) -C subsys
/system
/$* clean
224 $(SYS_APPS
:%=%_install
): %_install
:
225 $(MAKE
) -C subsys
/system
/$* install
227 $(SYS_APPS
:%=%_bootcd
): %_bootcd
:
228 $(MAKE
) -C subsys
/system
/$* bootcd
230 .PHONY
: $(SYS_APPS
) $(SYS_APPS
:%=%_implib
) $(SYS_APPS
:%=%_clean
) $(SYS_APPS
:%=%_install
) $(SYS_APPS
:%=%_bootcd
)
236 $(MAKE
) -C services
/$*
238 $(SYS_SVC
:%=%_depends
): %_depends
:
239 $(MAKE
) -C services
/$* depends
241 $(SYS_SVC
:%=%_implib
): %_implib
:
242 $(MAKE
) -C services
/$* implib
244 $(SYS_SVC
:%=%_clean
): %_clean
:
245 $(MAKE
) -C services
/$* clean
247 $(SYS_SVC
:%=%_install
): %_install
:
248 $(MAKE
) -C services
/$* install
250 .PHONY
: $(SYS_SVC
) $(SYS_SVC
:%=%_depends
) $(SYS_SVC
:%=%_implib
) $(SYS_SVC
:%=%_clean
) $(SYS_SVC
:%=%_install
)
257 # Extra (optional system) Applications
262 $(APPS
:%=%_implib
): %_implib
:
263 $(MAKE
) -C apps
/$* implib
265 $(APPS
:%=%_clean
): %_clean
:
266 $(MAKE
) -C apps
/$* clean
268 $(APPS
:%=%_install
): %_install
:
269 $(MAKE
) -C apps
/$* install
271 .PHONY
: $(APPS
) $(APPS
:%=%_implib
) $(APPS
:%=%_clean
) $(APPS
:%=%_install
)
275 # External ports and subsystem personalities
278 $(MAKE
) -C
$(ROOT_PATH
)/$*
280 $(EXTERNALS
:%=%_depends
): %_depends
:
281 $(MAKE
) -C
$(ROOT_PATH
)/$* depends
283 $(EXTERNALS
:%=%_implib
): %_implib
:
284 $(MAKE
) -C
$(ROOT_PATH
)/$* implib
286 $(EXTERNALS
:%=%_clean
): %_clean
:
287 $(MAKE
) -C
$(ROOT_PATH
)/$* clean
289 $(EXTERNALS
:%=%_install
): %_install
:
290 $(MAKE
) -C
$(ROOT_PATH
)/$* install
292 .PHONY
: $(EXTERNALS
) $(EXTERNALS
:%=%_depends
) $(EXTERNALS
:%=%_implib
) $(EXTERNALS
:%=%_clean
) $(EXTERNALS
:%=%_install
)
304 $(MAKE
) -C tools
clean
308 .PHONY
: tools tools_implib tools_clean tools_install
316 $(RMKDIR
) $(DDK_PATH
)
317 $(RMKDIR
) $(DDK_PATH_LIB
)
318 $(RMKDIR
) $(DDK_PATH_INC
)
319 $(RMKDIR
) $(SDK_PATH
)
320 $(RMKDIR
) $(SDK_PATH_LIB
)
321 $(RMKDIR
) $(SDK_PATH_INC
)
322 $(RMKDIR
) $(XDK_PATH
)
323 $(RMKDIR
) $(XDK_PATH_LIB
)
324 $(RMKDIR
) $(XDK_PATH_INC
)
328 # WARNING! Be very sure that there are no important files
329 # in these directories before cleaning them!!!
331 $(RM
) $(DDK_PATH_LIB
)/*.a
332 # $(RM) $(DDK_PATH_INC)/*.h
333 $(RMDIR
) $(DDK_PATH_LIB
)
334 # $(RMDIR) $(DDK_PATH_INC)
335 $(RM
) $(SDK_PATH_LIB
)/*.a
336 # $(RM) $(SDK_PATH_INC)/*.h
337 $(RMDIR
) $(SDK_PATH_LIB
)
338 # $(RMDIR) $(SDK_PATH_INC)
339 $(RM
) $(XDK_PATH_LIB
)/*.a
340 # $(RM) $(XDK_PATH_INC)/*.h
341 $(RMDIR
) $(XDK_PATH_LIB
)
342 # $(RMDIR) $(XDK_PATH_INC)
346 .PHONY
: dk dk_implib dk_clean dk_install
353 $(MAKE
) -C iface
/native
358 $(MAKE
) -C iface
/native
clean
360 iface_native_install
:
365 $(MAKE
) -C iface
/addsys
367 iface_additional_implib
:
369 iface_additional_clean
:
370 $(MAKE
) -C iface
/addsys
clean
372 iface_additional_install
:
374 iface_additional_bootcd
:
376 .PHONY
: iface_native iface_native_implib iface_native_clean iface_native_install \
377 iface_native_bootcd \
378 iface_additional iface_additional_implib iface_additional_clean \
379 iface_additional_install iface_additional_bootcd
386 $(MAKE
) -C drivers
/bus
/$*
388 $(BUS
:%=%_implib
): %_implib
:
389 $(MAKE
) -C drivers
/bus
/$* implib
391 $(BUS
:%=%_clean
): %_clean
:
392 $(MAKE
) -C drivers
/bus
/$* clean
394 $(BUS
:%=%_install
): %_install
:
395 $(MAKE
) -C drivers
/bus
/$* install
397 $(BUS
:%=%_bootcd
): %_bootcd
:
398 $(MAKE
) -C drivers
/bus
/$* bootcd
400 .PHONY
: $(BUS
) $(BUS
:%=%_implib
) $(BUS
:%=%_clean
) \
401 $(BUS
:%=%_install
) $(BUS
:%=%_bootcd
)
405 # Driver support libraries rules
408 $(MAKE
) -C drivers
/lib
/$*
410 $(DRIVERS_LIB
:%=%_implib
): %_implib
:
411 $(MAKE
) -C drivers
/lib
/$* implib
413 $(DRIVERS_LIB
:%=%_clean
): %_clean
:
414 $(MAKE
) -C drivers
/lib
/$* clean
416 $(DRIVERS_LIB
:%=%_install
): %_install
:
417 $(MAKE
) -C drivers
/lib
/$* install
419 $(DRIVERS_LIB
:%=%_bootcd
): %_bootcd
:
420 $(MAKE
) -C drivers
/lib
/$* bootcd
422 .PHONY
: $(DRIVERS_LIB
) $(DRIVERS_LIB
:%=%_implib
) $(DRIVERS_LIB
:%=%_clean
) \
423 $(DRIVERS_LIB
:%=%_install
) $(DRIVERS_LIB
:%=%_bootcd
)
427 # Device driver rules
429 $(DEVICE_DRIVERS
): %:
430 $(MAKE
) -C drivers
/dd
/$*
432 $(DEVICE_DRIVERS
:%=%_implib
): %_implib
:
433 $(MAKE
) -C drivers
/dd
/$* implib
435 $(DEVICE_DRIVERS
:%=%_clean
): %_clean
:
436 $(MAKE
) -C drivers
/dd
/$* clean
438 $(DEVICE_DRIVERS
:%=%_install
): %_install
:
439 $(MAKE
) -C drivers
/dd
/$* install
441 $(DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
442 $(MAKE
) -C drivers
/dd
/$* bootcd
444 .PHONY
: $(DEVICE_DRIVERS
) $(DEVICE_DRIVERS
:%=%_implib
) $(DEVICE_DRIVERS
:%=%_clean
) \
445 $(DEVICE_DRIVERS
:%=%_install
) $(DEVICE_DRIVERS
:%=%_bootcd
)
452 $(MAKE
) -C drivers
/input
/$*
454 $(INPUT_DRIVERS
:%=%_implib
): %_implib
:
455 $(MAKE
) -C drivers
/input
/$* implib
457 $(INPUT_DRIVERS
:%=%_clean
): %_clean
:
458 $(MAKE
) -C drivers
/input
/$* clean
460 $(INPUT_DRIVERS
:%=%_install
): %_install
:
461 $(MAKE
) -C drivers
/input
/$* install
463 $(INPUT_DRIVERS
:%=%_bootcd
): %_bootcd
:
464 $(MAKE
) -C drivers
/input
/$* bootcd
466 .PHONY
: $(INPUT_DRIVERS
) $(INPUT_DRIVERS
:%=%_implib
) $(INPUT_DRIVERS
:%=%_clean
)\
467 $(INPUT_DRIVERS
:%=%_install
) $(INPUT_DRIVERS
:%=%_bootcd
)
471 # Filesystem driver rules
474 $(MAKE
) -C drivers
/fs
/$*
476 $(FS_DRIVERS
:%=%_implib
): %_implib
:
477 $(MAKE
) -C drivers
/fs
/$* implib
479 $(FS_DRIVERS
:%=%_clean
): %_clean
:
480 $(MAKE
) -C drivers
/fs
/$* clean
482 $(FS_DRIVERS
:%=%_install
): %_install
:
483 $(MAKE
) -C drivers
/fs
/$* install
485 $(FS_DRIVERS
:%=%_bootcd
): %_bootcd
:
486 $(MAKE
) -C drivers
/fs
/$* bootcd
488 .PHONY
: $(FS_DRIVERS
) $(FS_DRIVERS
:%=%_implib
) $(FS_DRIVERS
:%=%_clean
) \
489 $(FS_DRIVERS
:%=%_install
) $(FS_DRIVERS
:%=%_bootcd
)
493 # Network driver rules
496 $(MAKE
) -C drivers
/net
/$*
498 $(NET_DRIVERS
:%=%_implib
): %_implib
:
499 $(MAKE
) -C drivers
/net
/$* implib
501 $(NET_DRIVERS
:%=%_clean
): %_clean
:
502 $(MAKE
) -C drivers
/net
/$* clean
504 $(NET_DRIVERS
:%=%_install
): %_install
:
505 $(MAKE
) -C drivers
/net
/$* install
507 $(NET_DRIVERS
:%=%_bootcd
): %_bootcd
:
508 $(MAKE
) -C drivers
/net
/$* bootcd
510 .PHONY
: $(NET_DRIVERS
) $(NET_DRIVERS
:%=%_implib
) $(NET_DRIVERS
:%=%_clean
) \
511 $(NET_DRIVERS
:%=%_install
) $(NET_DRIVERS
:%=%_bootcd
)
515 # Network device driver rules
517 $(NET_DEVICE_DRIVERS
): %:
518 $(MAKE
) -C drivers
/net
/dd
/$*
520 $(NET_DEVICE_DRIVERS
:%=%_implib
): %_implib
:
521 $(MAKE
) -C drivers
/net
/dd
/$* implib
523 $(NET_DEVICE_DRIVERS
:%=%_clean
): %_clean
:
524 $(MAKE
) -C drivers
/net
/dd
/$* clean
526 $(NET_DEVICE_DRIVERS
:%=%_install
): %_install
:
527 $(MAKE
) -C drivers
/net
/dd
/$* install
529 $(NET_DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
530 $(MAKE
) -C drivers
/net
/dd
/$* bootcd
532 .PHONY
: $(NET_DEVICE_DRIVERS
) $(NET_DEVICE_DRIVERS
:%=%_clean
) $(NET_DEVICE_DRIVERS
:%=%_implib
) \
533 $(NET_DEVICE_DRIVERS
:%=%_install
) $(NET_DEVICE_DRIVERS
:%=%_bootcd
)
537 # storage driver rules
539 $(STORAGE_DRIVERS
): %:
540 $(MAKE
) -C drivers
/storage
/$*
542 $(STORAGE_DRIVERS
:%=%_implib
): %_implib
:
543 $(MAKE
) -C drivers
/storage
/$* implib
545 $(STORAGE_DRIVERS
:%=%_clean
): %_clean
:
546 $(MAKE
) -C drivers
/storage
/$* clean
548 $(STORAGE_DRIVERS
:%=%_install
): %_install
:
549 $(MAKE
) -C drivers
/storage
/$* install
551 $(STORAGE_DRIVERS
:%=%_bootcd
): %_bootcd
:
552 $(MAKE
) -C drivers
/storage
/$* bootcd
554 .PHONY
: $(STORAGE_DRIVERS
) $(STORAGE_DRIVERS
:%=%_clean
) $(STORAGE_DRIVERS
:%=%_implib
) \
555 $(STORAGE_DRIVERS
:%=%_install
) $(STORAGE_DRIVERS
:%=%_bootcd
)
562 $(MAKE
) -C loaders
/$*
564 $(LOADERS
:%=%_implib
): %_implib
:
566 $(LOADERS
:%=%_clean
): %_clean
:
567 $(MAKE
) -C loaders
/$* clean
569 $(LOADERS
:%=%_install
): %_install
:
570 $(MAKE
) -C loaders
/$* install
572 .PHONY
: $(LOADERS
) $(LOADERS
:%=%_implib
) $(LOADERS
:%=%_clean
) $(LOADERS
:%=%_install
)
576 # Required system components
582 $(MAKE
) -C ntoskrnl implib
585 $(MAKE
) -C ntoskrnl
clean
588 $(MAKE
) -C ntoskrnl
install
591 $(MAKE
) -C ntoskrnl bootcd
593 .PHONY
: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_bootcd
597 # Hardware Abstraction Layer import library
603 $(MAKE
) -C hal
/hal implib
606 $(MAKE
) -C hal
/hal
clean
609 $(MAKE
) -C hal
/hal
install
612 $(MAKE
) -C hal
/hal bootcd
614 .PHONY
: hallib hallib_implib hallib_clean hallib_install hallib_bootcd
618 # Hardware Abstraction Layers
623 $(HALS
:%=%_implib
): %_implib
:
624 $(MAKE
) -C hal
/$* implib
626 $(HALS
:%=%_clean
): %_clean
:
627 $(MAKE
) -C hal
/$* clean
629 $(HALS
:%=%_install
): %_install
:
630 $(MAKE
) -C hal
/$* install
632 $(HALS
:%=%_bootcd
): %_bootcd
:
633 $(MAKE
) -C hal
/$* bootcd
635 .PHONY
: $(HALS
) $(HALS
:%=%_implib
) $(HALS
:%=%_clean
) $(HALS
:%=%_install
) $(HALS
:%=%_bootcd
)
639 # 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
:%=%_bootcd
): %_bootcd
:
657 $(MAKE
) -C lib
/fslib
/$* bootcd
659 .PHONY
: $(LIB_FSLIB
) $(LIB_FSLIB
:%=%_depends
) $(LIB_FSLIB
:%=%_implib
) $(LIB_FSLIB
:%=%_clean
) \
660 $(LIB_FSLIB
:%=%_install
) $(LIB_FSLIB
:%=%_bootcd
)
669 $(LIB_STATIC
:%=%_depends
): %_depends
:
670 $(MAKE
) -C lib
/string depends
672 $(LIB_STATIC
:%=%_implib
): %_implib
:
673 $(MAKE
) -C lib
/$* implib
675 $(LIB_STATIC
:%=%_clean
): %_clean
:
676 $(MAKE
) -C lib
/$* clean
678 $(LIB_STATIC
:%=%_install
): %_install
:
679 $(MAKE
) -C lib
/$* install
681 $(LIB_STATIC
:%=%_bootcd
): %_bootcd
:
682 $(MAKE
) -C lib
/$* bootcd
684 .PHONY
: $(LIB_STATIC
) $(LIB_STATIC
:%=%_depends
) $(LIB_STATIC
:%=%_implib
) $(LIB_STATIC
:%=%_clean
) \
685 $(LIB_STATIC
:%=%_install
) $(LIB_STATIC
:%=%_bootcd
)
694 $(DLLS
:%=%_depends
): %_depends
:
695 $(MAKE
) -C lib
/$* depends
697 $(DLLS
:%=%_implib
): %_implib
:
698 $(MAKE
) -C lib
/$* implib
700 $(DLLS
:%=%_clean
): %_clean
:
701 $(MAKE
) -C lib
/$* clean
703 $(DLLS
:%=%_install
): %_install
:
704 $(MAKE
) -C lib
/$* install
706 $(DLLS
:%=%_bootcd
): %_bootcd
:
707 $(MAKE
) -C lib
/$* bootcd
709 .PHONY
: $(DLLS
) $(DLLS
:%=%_depends
) $(DLLS
:%=%_implib
) $(DLLS
:%=%_clean
) $(DLLS
:%=%_install
) \
714 # Subsystem support modules
719 $(SUBSYS
:%=%_depends
): %_depends
:
720 $(MAKE
) -C subsys
/$* depends
722 $(SUBSYS
:%=%_implib
): %_implib
:
723 $(MAKE
) -C subsys
/$* implib
725 $(SUBSYS
:%=%_clean
): %_clean
:
726 $(MAKE
) -C subsys
/$* clean
728 $(SUBSYS
:%=%_install
): %_install
:
729 $(MAKE
) -C subsys
/$* install
731 $(SUBSYS
:%=%_bootcd
): %_bootcd
:
732 $(MAKE
) -C subsys
/$* bootcd
734 .PHONY
: $(SUBSYS
) $(SUBSYS
:%=%_depends
) $(SUBSYS
:%=%_implib
) $(SUBSYS
:%=%_clean
) $(SUBSYS
:%=%_install
) \
738 # Regression testsuite
744 $(REGTESTS
:%=%_clean
): %_clean
:
745 $(MAKE
) -C regtests
clean
747 $(REGTESTS
:%=%_install
): %_install
:
748 $(MAKE
) -C regtests
install
750 .PHONY
: $(REGTESTS
) $(REGTESTS
:%=%_depends
) $(SUBSYS
:%=%_clean
) $(REGTESTS
:%=%_install
)
754 # Create an installation
758 $(RM
) $(INSTALL_DIR
)/system32
/drivers
/*.
*
759 $(RM
) $(INSTALL_DIR
)/system32
/config
/*.
*
760 $(RM
) $(INSTALL_DIR
)/system32
/*.
*
761 $(RM
) $(INSTALL_DIR
)/symbols
/*.
*
762 $(RM
) $(INSTALL_DIR
)/media
/fonts
/*.
*
763 $(RM
) $(INSTALL_DIR
)/media
/*.
*
764 $(RM
) $(INSTALL_DIR
)/bin
/*.
*
765 $(RM
) $(INSTALL_DIR
)/*.com
766 $(RM
) $(INSTALL_DIR
)/*.bat
767 $(RMDIR
) $(INSTALL_DIR
)/system32
/drivers
768 $(RMDIR
) $(INSTALL_DIR
)/system32
/config
769 $(RMDIR
) $(INSTALL_DIR
)/system32
770 $(RMDIR
) $(INSTALL_DIR
)/symbols
771 $(RMDIR
) $(INSTALL_DIR
)/media
/fonts
772 $(RMDIR
) $(INSTALL_DIR
)/media
773 $(RMDIR
) $(INSTALL_DIR
)/bin
774 $(RMDIR
) $(INSTALL_DIR
)
777 $(RMKDIR
) $(INSTALL_DIR
)
778 $(RMKDIR
) $(INSTALL_DIR
)/bin
779 $(RMKDIR
) $(INSTALL_DIR
)/media
780 $(RMKDIR
) $(INSTALL_DIR
)/media
/fonts
781 $(RMKDIR
) $(INSTALL_DIR
)/symbols
782 $(RMKDIR
) $(INSTALL_DIR
)/system32
783 $(RMKDIR
) $(INSTALL_DIR
)/system32
/config
784 $(RMKDIR
) $(INSTALL_DIR
)/system32
/drivers
787 $(CP
) bootc.lst
$(INSTALL_DIR
)/bootc.lst
788 $(CP
) boot.bat
$(INSTALL_DIR
)/boot.bat
789 $(CP
) aboot.bat
$(INSTALL_DIR
)/aboot.bat
790 $(CP
) media
/fonts
$(INSTALL_DIR
)/media
/fonts
791 $(CP
) media
/nls
$(INSTALL_DIR
)/system32
792 $(CP
) media
/nls
/c_1252.nls
$(INSTALL_DIR
)/system32
/ansi.nls
793 $(CP
) media
/nls
/c_437.nls
$(INSTALL_DIR
)/system32
/oem.nls
794 $(CP
) media
/nls
/l_intl.nls
$(INSTALL_DIR
)/system32
/casemap.nls
796 .PHONY
: install_clean install_dirs install_before
800 find .
-name
"*.[ch]" -print | etags
--language
=c
-
804 echo generating ReactOS NTOSKRNL documentation ...
805 $(MAKE
) -C ntoskrnl docu
807 echo generating ReactOS drivers documentation ...
808 $(MAKE
) -C drivers docu
810 echo generating ReactOS NTDLL documentation ...
811 $(MAKE
) -C lib
/ntdll docu
813 echo generating ReactOS Freetype documentation ...
814 $(MAKE
) -C lib
/freetype docu
816 echo generating ReactOS libs documentation ...
819 echo generating ReactOS WIN32K documentation ...
820 $(MAKE
) -C subsys
/win32k docu
822 echo generating ReactOS apps
+tools documentation ...
825 echo generating ReactOS explorer documentation ...
826 $(MAKE
) -C subsys
/system
/explorer full-docu
828 echo generating remaining ReactOS documentation ...