1 # $Id: Makefile,v 1.229 2004/06/07 12:24:00 ekohl 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 rtl tgetopt
37 # Keyboard layout libraries
38 DLLS_KBD
= kbddv kbdfr kbdgr kbdse kbduk kbdus
44 # advapi32 cards crtdll comdlg32 fmifs gdi32 imagehlp kernel32 libpcap packet msafd msvcrt ntdll
45 # epsapi psapi richedit rpcrt4 secur32 user32 version ws2help ws2_32 wsock32 wshirda mswsock
47 DLLS
= advapi32 cabinet cards comctl32 crtdll comdlg32 d3d8thk expat fmifs freetype gdi32 \
48 imm32 iphlpapi kernel32 lzexpand mpr msafd msgina msimg32 msvcrt msvcrt20 mswsock \
49 netapi32 ntdll ole32 oleaut32 oledlg packet psapi richedit rpcrt4 samlib secur32 \
50 setupapi shell32 shlwapi snmpapi syssetup twain unicode user32 userenv version wininet \
51 winmm winspool ws2help ws2_32 wsock32 wshirda imagehlp
$(DLLS_KBD
) $(DLLS_CPL
)
53 SUBSYS
= smss win32k csrss ntvdm
56 # Select the server(s) you want to build
58 #SERVERS = posix linux os2
65 # Driver support libraries
67 DRIVERS_LIB
= bzip2 oskittcp
69 # Kernel mode device drivers
71 # beep blue floppy null parallel ramdrv serenum serial
72 DEVICE_DRIVERS
= beep blue debugout floppy null serial bootvid
74 # Kernel mode input drivers
75 INPUT_DRIVERS
= keyboard mouclass psaux sermouse
77 # Kernel mode file system drivers
78 # cdfs ext2 fs_rec ms np vfat
79 FS_DRIVERS
= cdfs fs_rec ms np vfat mup ntfs
81 # Kernel mode networking drivers
82 # afd ndis npf tcpip tdi wshtcpip
83 NET_DRIVERS
= afd ndis npf tcpip tdi wshtcpip
85 # Kernel mode networking device drivers
87 NET_DEVICE_DRIVERS
= ne2000 pcnet
89 # Kernel mode storage drivers
90 # atapi cdrom class2 disk scsiport
91 STORAGE_DRIVERS
= atapi cdrom class2 disk scsiport diskdump
94 # autochk cmd format services setup usetup welcome winlogon
95 SYS_APPS
= autochk cmd explorer format services setup taskmgr userinit usetup welcome vmwinst winlogon regedit
99 SYS_SVC
= rpcss eventlog
101 APPS
= tests testsets utils
104 # External modules and (sub)systems for ReactOS
105 # rosapps posix os2 (requires c++) java (non-existant)
108 ifeq ($(ROS_BUILD_EXT
),yes
)
109 EXT_MODULES
= $(EXTERNALS
)
114 KERNEL_DRIVERS
= $(DRIVERS_LIB
) $(DEVICE_DRIVERS
) $(INPUT_DRIVERS
) $(FS_DRIVERS
) \
115 $(NET_DRIVERS
) $(NET_DEVICE_DRIVERS
) $(STORAGE_DRIVERS
) VIDEO_DRIVERS
120 all: tools dk implib
$(LIB_STATIC
) $(COMPONENTS
) $(REGTESTS
) $(HALS
) $(BUS
) $(LIB_FSLIB
) $(DLLS
) $(SUBSYS
) \
121 $(LOADERS
) $(KERNEL_DRIVERS
) $(SYS_APPS
) $(SYS_SVC
) \
122 $(APPS
) $(EXT_MODULES
)
124 #config: $(TOOLS:%=%_config)
126 depends
: $(LIB_STATIC
:%=%_depends
) $(LIB_FSLIB
:%=%_depends
) $(DLLS
:%=%_depends
) $(SUBSYS
:%=%_depends
) $(SYS_SVC
:%=%_depends
) \
127 $(EXT_MODULES
:%=%_depends
) $(POSIX_LIBS
:%=%_depends
)
129 implib
: $(COMPONENTS
:%=%_implib
) $(HALS
:%=%_implib
) $(BUS
:%=%_implib
) \
130 $(LIB_STATIC
:%=%_implib
) $(LIB_FSLIB
:%=%_implib
) $(DLLS
:%=%_implib
) $(LOADERS
:%=%_implib
) \
131 $(KERNEL_DRIVERS
:%=%_implib
) $(SUBSYS
:%=%_implib
) \
132 $(SYS_SVC
:%=%_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 fastinstall
: 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
)
151 install: fastinstall registry
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
) subsys
/system
/welcome
/welcome.exe
$(BOOTCD_DIR
)/reactos
/welcome.exe
187 $(CP
) media
/nls
/c_1252.nls
$(BOOTCD_DIR
)/reactos
/c_1252.nls
188 $(CP
) media
/nls
/c_437.nls
$(BOOTCD_DIR
)/reactos
/c_437.nls
189 $(CP
) media
/nls
/l_intl.nls
$(BOOTCD_DIR
)/reactos
/l_intl.nls
191 bootcd_basic
: bootcd_directory_layout bootcd_bootstrap_files bootcd_install_before
194 $(CABMAN
) /C bootdata
/packages
/reactos.dff
/L
$(BOOTCD_DIR
)/reactos
/I
195 $(CABMAN
) /C bootdata
/packages
/reactos.dff
/RC
$(BOOTCD_DIR
)/reactos
/reactos.inf
/L
$(BOOTCD_DIR
)/reactos
/N
196 - $(RM
) $(BOOTCD_DIR
)/reactos
/reactos.inf
197 $(TOOLS_PATH
)/cdmake
/cdmake
-v
-m
-b
$(BOOTCD_DIR
)/..
/isoboot.bin
$(BOOTCD_DIR
) REACTOS ReactOS.iso
200 $(CP
) bootdata
/unattend.inf
$(BOOTCD_DIR
)/reactos
/unattend.inf
202 livecd_directory_layout
:
203 $(RMKDIR
) $(LIVECD_DIR
)
204 $(RMKDIR
) $(LIVECD_DIR
)/loader
205 $(RMKDIR
) $(LIVECD_DIR
)/reactos
206 $(RMKDIR
) $(LIVECD_DIR
)/Profiles
/All\ Users
/Desktop
207 $(RMKDIR
) $(LIVECD_DIR
)/Profiles
/Default\ User
/Desktop
208 $(RMKDIR
) $(LIVECD_DIR
)/Profiles
/Default\ User
/My\ Documents
209 $(CP
) ${FREELDR_DIR}/bootsect
/isoboot.bin
${LIVECD_DIR}/..
/isoboot.bin
210 $(CP
) ${FREELDR_DIR}/freeldr
/obj
/i386
/freeldr.sys
${LIVECD_DIR}/loader
/setupldr.sys
211 $(RLINE
) bootdata
/livecd.ini
$(LIVECD_DIR
)/freeldr.ini
213 livecd_bootstrap_files
:
214 $(MAKE
) LIVECD_INSTALL
=yes fastinstall
216 livecd_install_before
:
217 $(TOOLS_PATH
)/mkhive
/mkhive
$(EXE_POSTFIX
) bootdata
$(LIVECD_DIR
)/reactos
/system32
/config bootdata
/livecd.inf
219 livecd_basic
: livecd_directory_layout livecd_bootstrap_files livecd_install_before
222 $(TOOLS_PATH
)/cdmake
/cdmake
-m
-j
-b
$(LIVECD_DIR
)/..
/isoboot.bin
$(LIVECD_DIR
) REACTOS roslive.iso
224 bootcd
: bootcd_basic bootcd_makecd
226 ubootcd
: bootcd_basic ubootcd_unattend bootcd_makecd
228 livecd
: livecd_basic livecd_makecd
231 $(TOOLS_PATH
)/mkhive
/mkhive
$(EXE_POSTFIX
) bootdata
$(INSTALL_DIR
)/system32
/config bootdata
/hiveinst.inf
233 .PHONY
: all depends implib
clean clean_before
install freeldr bootcd_directory_layout \
234 bootcd_bootstrap_files bootcd_install_before bootcd_basic bootcd_makecd ubootcd_unattend bootcd
238 # System Applications
241 $(MAKE
) -C subsys
/system
/$*
243 $(SYS_APPS
:%=%_implib
): %_implib
:
244 $(MAKE
) -C subsys
/system
/$* implib
246 $(SYS_APPS
:%=%_clean
): %_clean
:
247 $(MAKE
) -C subsys
/system
/$* clean
249 $(SYS_APPS
:%=%_install
): %_install
:
250 $(MAKE
) -C subsys
/system
/$* install
252 $(SYS_APPS
:%=%_bootcd
): %_bootcd
:
253 $(MAKE
) -C subsys
/system
/$* bootcd
255 .PHONY
: $(SYS_APPS
) $(SYS_APPS
:%=%_implib
) $(SYS_APPS
:%=%_clean
) $(SYS_APPS
:%=%_install
) $(SYS_APPS
:%=%_bootcd
)
261 $(MAKE
) -C services
/$*
263 $(SYS_SVC
:%=%_depends
): %_depends
:
264 $(MAKE
) -C services
/$* depends
266 $(SYS_SVC
:%=%_implib
): %_implib
:
267 $(MAKE
) -C services
/$* implib
269 $(SYS_SVC
:%=%_clean
): %_clean
:
270 $(MAKE
) -C services
/$* clean
272 $(SYS_SVC
:%=%_install
): %_install
:
273 $(MAKE
) -C services
/$* install
275 .PHONY
: $(SYS_SVC
) $(SYS_SVC
:%=%_depends
) $(SYS_SVC
:%=%_implib
) $(SYS_SVC
:%=%_clean
) $(SYS_SVC
:%=%_install
)
282 # Extra (optional system) Applications
288 # $(APPS:%=%_implib): %_implib:
289 # $(MAKE) -C apps/$* implib
291 $(APPS
:%=%_clean
): %_clean
:
292 $(MAKE
) -C apps
/$* clean
294 $(APPS
:%=%_install
): %_install
:
295 $(MAKE
) -C apps
/$* install
297 .PHONY
: $(APPS
) $(APPS
:%=%_implib
) $(APPS
:%=%_clean
) $(APPS
:%=%_install
)
301 # External ports and subsystem personalities
304 $(MAKE
) -C
$(ROOT_PATH
)/$*
306 $(EXTERNALS
:%=%_depends
): %_depends
:
307 $(MAKE
) -C
$(ROOT_PATH
)/$* depends
309 $(EXTERNALS
:%=%_implib
): %_implib
:
310 $(MAKE
) -C
$(ROOT_PATH
)/$* implib
312 $(EXTERNALS
:%=%_clean
): %_clean
:
313 $(MAKE
) -C
$(ROOT_PATH
)/$* clean
315 $(EXTERNALS
:%=%_install
): %_install
:
316 $(MAKE
) -C
$(ROOT_PATH
)/$* install
318 .PHONY
: $(EXTERNALS
) $(EXTERNALS
:%=%_depends
) $(EXTERNALS
:%=%_implib
) $(EXTERNALS
:%=%_clean
) $(EXTERNALS
:%=%_install
)
330 $(MAKE
) -C tools
clean
334 .PHONY
: tools tools_implib tools_clean tools_install
342 $(RMKDIR
) $(DDK_PATH
)
343 $(RMKDIR
) $(DDK_PATH_LIB
)
344 $(RMKDIR
) $(DDK_PATH_INC
)
345 $(RMKDIR
) $(SDK_PATH
)
346 $(RMKDIR
) $(SDK_PATH_LIB
)
347 $(RMKDIR
) $(SDK_PATH_INC
)
348 $(RMKDIR
) $(XDK_PATH
)
349 $(RMKDIR
) $(XDK_PATH_LIB
)
350 $(RMKDIR
) $(XDK_PATH_INC
)
354 # WARNING! Be very sure that there are no important files
355 # in these directories before cleaning them!!!
357 $(RM
) $(DDK_PATH_LIB
)/*.a
358 # $(RM) $(DDK_PATH_INC)/*.h
359 $(RMDIR
) $(DDK_PATH_LIB
)
360 # $(RMDIR) $(DDK_PATH_INC)
361 $(RM
) $(SDK_PATH_LIB
)/*.a
362 # $(RM) $(SDK_PATH_INC)/*.h
363 $(RMDIR
) $(SDK_PATH_LIB
)
364 # $(RMDIR) $(SDK_PATH_INC)
365 $(RM
) $(XDK_PATH_LIB
)/*.a
366 # $(RM) $(XDK_PATH_INC)/*.h
367 $(RMDIR
) $(XDK_PATH_LIB
)
368 # $(RMDIR) $(XDK_PATH_INC)
372 .PHONY
: dk dk_implib dk_clean dk_install
379 $(MAKE
) -C iface
/native
384 $(MAKE
) -C iface
/native
clean
386 iface_native_install
:
391 $(MAKE
) -C iface
/addsys
393 iface_additional_implib
:
395 iface_additional_clean
:
396 $(MAKE
) -C iface
/addsys
clean
398 iface_additional_install
:
400 iface_additional_bootcd
:
402 .PHONY
: iface_native iface_native_implib iface_native_clean iface_native_install \
403 iface_native_bootcd \
404 iface_additional iface_additional_implib iface_additional_clean \
405 iface_additional_install iface_additional_bootcd
412 $(MAKE
) -C drivers
/bus
/$*
414 $(BUS
:%=%_implib
): %_implib
:
415 $(MAKE
) -C drivers
/bus
/$* implib
417 $(BUS
:%=%_clean
): %_clean
:
418 $(MAKE
) -C drivers
/bus
/$* clean
420 $(BUS
:%=%_install
): %_install
:
421 $(MAKE
) -C drivers
/bus
/$* install
423 $(BUS
:%=%_bootcd
): %_bootcd
:
424 $(MAKE
) -C drivers
/bus
/$* bootcd
426 .PHONY
: $(BUS
) $(BUS
:%=%_implib
) $(BUS
:%=%_clean
) \
427 $(BUS
:%=%_install
) $(BUS
:%=%_bootcd
)
431 # Driver support libraries rules
434 $(MAKE
) -C drivers
/lib
/$*
436 $(DRIVERS_LIB
:%=%_implib
): %_implib
:
437 $(MAKE
) -C drivers
/lib
/$* implib
439 $(DRIVERS_LIB
:%=%_clean
): %_clean
:
440 $(MAKE
) -C drivers
/lib
/$* clean
442 $(DRIVERS_LIB
:%=%_install
): %_install
:
443 $(MAKE
) -C drivers
/lib
/$* install
445 $(DRIVERS_LIB
:%=%_bootcd
): %_bootcd
:
446 $(MAKE
) -C drivers
/lib
/$* bootcd
448 .PHONY
: $(DRIVERS_LIB
) $(DRIVERS_LIB
:%=%_implib
) $(DRIVERS_LIB
:%=%_clean
) \
449 $(DRIVERS_LIB
:%=%_install
) $(DRIVERS_LIB
:%=%_bootcd
)
453 # Device driver rules
455 $(DEVICE_DRIVERS
): %:
456 $(MAKE
) -C drivers
/dd
/$*
458 $(DEVICE_DRIVERS
:%=%_implib
): %_implib
:
459 $(MAKE
) -C drivers
/dd
/$* implib
461 $(DEVICE_DRIVERS
:%=%_clean
): %_clean
:
462 $(MAKE
) -C drivers
/dd
/$* clean
464 $(DEVICE_DRIVERS
:%=%_install
): %_install
:
465 $(MAKE
) -C drivers
/dd
/$* install
467 $(DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
468 $(MAKE
) -C drivers
/dd
/$* bootcd
470 .PHONY
: $(DEVICE_DRIVERS
) $(DEVICE_DRIVERS
:%=%_implib
) $(DEVICE_DRIVERS
:%=%_clean
) \
471 $(DEVICE_DRIVERS
:%=%_install
) $(DEVICE_DRIVERS
:%=%_bootcd
)
475 # Video device driver rules
478 $(MAKE
) -C drivers
/video
480 VIDEO_DRIVERS_implib
:
481 $(MAKE
) -C drivers
/video implib
484 $(MAKE
) -C drivers
/video
clean
486 VIDEO_DRIVERS_install
:
487 $(MAKE
) -C drivers
/video
install
489 VIDEO_DRIVERS_bootcd
:
490 $(MAKE
) -C drivers
/video bootcd
492 .PHONY
: VIDEO_DRIVERS VIDEO_DRIVERS_implib VIDEO_DRIVERS_clean \
493 VIDEO_DRIVERS_install VIDEO_DRIVERS_bootcd
500 $(MAKE
) -C drivers
/input
/$*
502 $(INPUT_DRIVERS
:%=%_implib
): %_implib
:
503 $(MAKE
) -C drivers
/input
/$* implib
505 $(INPUT_DRIVERS
:%=%_clean
): %_clean
:
506 $(MAKE
) -C drivers
/input
/$* clean
508 $(INPUT_DRIVERS
:%=%_install
): %_install
:
509 $(MAKE
) -C drivers
/input
/$* install
511 $(INPUT_DRIVERS
:%=%_bootcd
): %_bootcd
:
512 $(MAKE
) -C drivers
/input
/$* bootcd
514 .PHONY
: $(INPUT_DRIVERS
) $(INPUT_DRIVERS
:%=%_implib
) $(INPUT_DRIVERS
:%=%_clean
)\
515 $(INPUT_DRIVERS
:%=%_install
) $(INPUT_DRIVERS
:%=%_bootcd
)
518 # Filesystem driver rules
521 $(MAKE
) -C drivers
/fs
/$*
523 $(FS_DRIVERS
:%=%_implib
): %_implib
:
524 $(MAKE
) -C drivers
/fs
/$* implib
526 $(FS_DRIVERS
:%=%_clean
): %_clean
:
527 $(MAKE
) -C drivers
/fs
/$* clean
529 $(FS_DRIVERS
:%=%_install
): %_install
:
530 $(MAKE
) -C drivers
/fs
/$* install
532 $(FS_DRIVERS
:%=%_bootcd
): %_bootcd
:
533 $(MAKE
) -C drivers
/fs
/$* bootcd
535 .PHONY
: $(FS_DRIVERS
) $(FS_DRIVERS
:%=%_implib
) $(FS_DRIVERS
:%=%_clean
) \
536 $(FS_DRIVERS
:%=%_install
) $(FS_DRIVERS
:%=%_bootcd
)
540 # Network driver rules
543 $(MAKE
) -C drivers
/net
/$*
545 $(NET_DRIVERS
:%=%_implib
): %_implib
:
546 $(MAKE
) -C drivers
/net
/$* implib
548 $(NET_DRIVERS
:%=%_clean
): %_clean
:
549 $(MAKE
) -C drivers
/net
/$* clean
551 $(NET_DRIVERS
:%=%_install
): %_install
:
552 $(MAKE
) -C drivers
/net
/$* install
554 $(NET_DRIVERS
:%=%_bootcd
): %_bootcd
:
555 $(MAKE
) -C drivers
/net
/$* bootcd
557 .PHONY
: $(NET_DRIVERS
) $(NET_DRIVERS
:%=%_implib
) $(NET_DRIVERS
:%=%_clean
) \
558 $(NET_DRIVERS
:%=%_install
) $(NET_DRIVERS
:%=%_bootcd
)
562 # Network device driver rules
564 $(NET_DEVICE_DRIVERS
): %:
565 $(MAKE
) -C drivers
/net
/dd
/$*
567 $(NET_DEVICE_DRIVERS
:%=%_implib
): %_implib
:
568 $(MAKE
) -C drivers
/net
/dd
/$* implib
570 $(NET_DEVICE_DRIVERS
:%=%_clean
): %_clean
:
571 $(MAKE
) -C drivers
/net
/dd
/$* clean
573 $(NET_DEVICE_DRIVERS
:%=%_install
): %_install
:
574 $(MAKE
) -C drivers
/net
/dd
/$* install
576 $(NET_DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
577 $(MAKE
) -C drivers
/net
/dd
/$* bootcd
579 .PHONY
: $(NET_DEVICE_DRIVERS
) $(NET_DEVICE_DRIVERS
:%=%_clean
) $(NET_DEVICE_DRIVERS
:%=%_implib
) \
580 $(NET_DEVICE_DRIVERS
:%=%_install
) $(NET_DEVICE_DRIVERS
:%=%_bootcd
)
584 # storage driver rules
586 $(STORAGE_DRIVERS
): %:
587 $(MAKE
) -C drivers
/storage
/$*
589 $(STORAGE_DRIVERS
:%=%_implib
): %_implib
:
590 $(MAKE
) -C drivers
/storage
/$* implib
592 $(STORAGE_DRIVERS
:%=%_clean
): %_clean
:
593 $(MAKE
) -C drivers
/storage
/$* clean
595 $(STORAGE_DRIVERS
:%=%_install
): %_install
:
596 $(MAKE
) -C drivers
/storage
/$* install
598 $(STORAGE_DRIVERS
:%=%_bootcd
): %_bootcd
:
599 $(MAKE
) -C drivers
/storage
/$* bootcd
601 .PHONY
: $(STORAGE_DRIVERS
) $(STORAGE_DRIVERS
:%=%_clean
) $(STORAGE_DRIVERS
:%=%_implib
) \
602 $(STORAGE_DRIVERS
:%=%_install
) $(STORAGE_DRIVERS
:%=%_bootcd
)
609 $(MAKE
) -C loaders
/$*
611 $(LOADERS
:%=%_implib
): %_implib
:
613 $(LOADERS
:%=%_clean
): %_clean
:
614 $(MAKE
) -C loaders
/$* clean
616 $(LOADERS
:%=%_install
): %_install
:
617 $(MAKE
) -C loaders
/$* install
619 .PHONY
: $(LOADERS
) $(LOADERS
:%=%_implib
) $(LOADERS
:%=%_clean
) $(LOADERS
:%=%_install
)
623 # Required system components
629 $(MAKE
) -C ntoskrnl implib
632 $(MAKE
) -C ntoskrnl
clean
635 $(MAKE
) -C ntoskrnl
install
638 $(MAKE
) -C ntoskrnl bootcd
640 .PHONY
: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_bootcd
644 # Hardware Abstraction Layer import library
650 $(MAKE
) -C hal
/hal implib
653 $(MAKE
) -C hal
/hal
clean
656 $(MAKE
) -C hal
/hal
install
659 $(MAKE
) -C hal
/hal bootcd
661 .PHONY
: hallib hallib_implib hallib_clean hallib_install hallib_bootcd
665 # Hardware Abstraction Layers
670 $(HALS
:%=%_implib
): %_implib
:
671 $(MAKE
) -C hal
/$* implib
673 $(HALS
:%=%_clean
): %_clean
:
674 $(MAKE
) -C hal
/$* clean
676 $(HALS
:%=%_install
): %_install
:
677 $(MAKE
) -C hal
/$* install
679 $(HALS
:%=%_bootcd
): %_bootcd
:
680 $(MAKE
) -C hal
/$* bootcd
682 .PHONY
: $(HALS
) $(HALS
:%=%_implib
) $(HALS
:%=%_clean
) $(HALS
:%=%_install
) $(HALS
:%=%_bootcd
)
686 # File system libraries
689 $(MAKE
) -C lib
/fslib
/$*
691 $(LIB_FSLIB
:%=%_depends
): %_depends
:
692 $(MAKE
) -C lib
/fslib
/$* depends
694 $(LIB_FSLIB
:%=%_implib
): %_implib
:
695 $(MAKE
) -C lib
/fslib
/$* implib
697 $(LIB_FSLIB
:%=%_clean
): %_clean
:
698 $(MAKE
) -C lib
/fslib
/$* clean
700 $(LIB_FSLIB
:%=%_install
): %_install
:
701 $(MAKE
) -C lib
/fslib
/$* install
703 $(LIB_FSLIB
:%=%_bootcd
): %_bootcd
:
704 $(MAKE
) -C lib
/fslib
/$* bootcd
706 .PHONY
: $(LIB_FSLIB
) $(LIB_FSLIB
:%=%_depends
) $(LIB_FSLIB
:%=%_implib
) $(LIB_FSLIB
:%=%_clean
) \
707 $(LIB_FSLIB
:%=%_install
) $(LIB_FSLIB
:%=%_bootcd
)
716 $(LIB_STATIC
:%=%_depends
): %_depends
:
717 $(MAKE
) -C lib
/string depends
719 $(LIB_STATIC
:%=%_implib
): %_implib
:
720 $(MAKE
) -C lib
/$* implib
722 $(LIB_STATIC
:%=%_clean
): %_clean
:
723 $(MAKE
) -C lib
/$* clean
725 $(LIB_STATIC
:%=%_install
): %_install
:
726 $(MAKE
) -C lib
/$* install
728 $(LIB_STATIC
:%=%_bootcd
): %_bootcd
:
729 $(MAKE
) -C lib
/$* bootcd
731 .PHONY
: $(LIB_STATIC
) $(LIB_STATIC
:%=%_depends
) $(LIB_STATIC
:%=%_implib
) $(LIB_STATIC
:%=%_clean
) \
732 $(LIB_STATIC
:%=%_install
) $(LIB_STATIC
:%=%_bootcd
)
741 $(DLLS
:%=%_depends
): %_depends
:
742 $(MAKE
) -C lib
/$* depends
744 $(DLLS
:%=%_implib
): %_implib
:
745 $(MAKE
) -C lib
/$* implib
747 $(DLLS
:%=%_clean
): %_clean
:
748 $(MAKE
) -C lib
/$* clean
750 $(DLLS
:%=%_install
): %_install
:
751 $(MAKE
) -C lib
/$* install
753 $(DLLS
:%=%_bootcd
): %_bootcd
:
754 $(MAKE
) -C lib
/$* bootcd
756 .PHONY
: $(DLLS
) $(DLLS
:%=%_depends
) $(DLLS
:%=%_implib
) $(DLLS
:%=%_clean
) $(DLLS
:%=%_install
) \
761 # Subsystem support modules
766 $(SUBSYS
:%=%_depends
): %_depends
:
767 $(MAKE
) -C subsys
/$* depends
769 $(SUBSYS
:%=%_implib
): %_implib
:
770 $(MAKE
) -C subsys
/$* implib
772 $(SUBSYS
:%=%_clean
): %_clean
:
773 $(MAKE
) -C subsys
/$* clean
775 $(SUBSYS
:%=%_install
): %_install
:
776 $(MAKE
) -C subsys
/$* install
778 $(SUBSYS
:%=%_bootcd
): %_bootcd
:
779 $(MAKE
) -C subsys
/$* bootcd
781 .PHONY
: $(SUBSYS
) $(SUBSYS
:%=%_depends
) $(SUBSYS
:%=%_implib
) $(SUBSYS
:%=%_clean
) $(SUBSYS
:%=%_install
) \
785 # Regression testsuite
791 $(REGTESTS
:%=%_clean
): %_clean
:
792 $(MAKE
) -C regtests
clean
794 $(REGTESTS
:%=%_install
): %_install
:
795 $(MAKE
) -C regtests
install
797 .PHONY
: $(REGTESTS
) $(REGTESTS
:%=%_depends
) $(SUBSYS
:%=%_clean
) $(REGTESTS
:%=%_install
)
801 # Create an installation
805 $(RM
) $(INSTALL_DIR
)/system32
/drivers
/*.
*
806 $(RM
) $(INSTALL_DIR
)/system32
/config
/*.
*
807 $(RM
) $(INSTALL_DIR
)/system32
/*.
*
808 $(RM
) $(INSTALL_DIR
)/symbols
/*.
*
809 $(RM
) $(INSTALL_DIR
)/media
/fonts
/*.
*
810 $(RM
) $(INSTALL_DIR
)/media
/*.
*
811 $(RM
) $(INSTALL_DIR
)/bin
/*.
*
812 $(RM
) $(INSTALL_DIR
)/*.com
813 $(RM
) $(INSTALL_DIR
)/*.bat
814 $(RMDIR
) $(INSTALL_DIR
)/system32
/drivers
815 $(RMDIR
) $(INSTALL_DIR
)/system32
/config
816 $(RMDIR
) $(INSTALL_DIR
)/system32
817 $(RMDIR
) $(INSTALL_DIR
)/symbols
818 $(RMDIR
) $(INSTALL_DIR
)/media
/fonts
819 $(RMDIR
) $(INSTALL_DIR
)/media
820 $(RMDIR
) $(INSTALL_DIR
)/bin
821 $(RMDIR
) $(INSTALL_DIR
)
824 $(RMKDIR
) $(INSTALL_DIR
)
825 $(RMKDIR
) $(INSTALL_DIR
)/bin
826 $(RMKDIR
) $(INSTALL_DIR
)/media
827 $(RMKDIR
) $(INSTALL_DIR
)/media
/fonts
828 $(RMKDIR
) $(INSTALL_DIR
)/symbols
829 $(RMKDIR
) $(INSTALL_DIR
)/system32
830 $(RMKDIR
) $(INSTALL_DIR
)/system32
/config
831 $(RMKDIR
) $(INSTALL_DIR
)/system32
/drivers
834 $(CP
) bootc.lst
$(INSTALL_DIR
)/bootc.lst
835 $(CP
) boot.bat
$(INSTALL_DIR
)/boot.bat
836 $(CP
) aboot.bat
$(INSTALL_DIR
)/aboot.bat
837 $(CP
) media
/fonts
$(INSTALL_DIR
)/media
/fonts
838 $(CP
) media
/nls
$(INSTALL_DIR
)/system32
839 $(CP
) media
/nls
/c_1252.nls
$(INSTALL_DIR
)/system32
/ansi.nls
840 $(CP
) media
/nls
/c_437.nls
$(INSTALL_DIR
)/system32
/oem.nls
841 $(CP
) media
/nls
/l_intl.nls
$(INSTALL_DIR
)/system32
/casemap.nls
843 .PHONY
: install_clean install_dirs install_before
847 find .
-name
"*.[ch]" -print | etags
--language
=c
-
851 echo generating ReactOS NTOSKRNL documentation ...
852 $(MAKE
) -C ntoskrnl docu
854 echo generating ReactOS drivers documentation ...
855 $(MAKE
) -C drivers docu
857 echo generating ReactOS NTDLL documentation ...
858 $(MAKE
) -C lib
/ntdll docu
860 echo generating ReactOS Freetype documentation ...
861 $(MAKE
) -C lib
/freetype docu
863 echo generating ReactOS libs documentation ...
866 echo generating ReactOS WIN32K documentation ...
867 $(MAKE
) -C subsys
/win32k docu
869 echo generating ReactOS apps
+tools documentation ...
872 echo generating ReactOS explorer documentation ...
873 $(MAKE
) -C subsys
/system
/explorer full-docu
875 echo generating remaining ReactOS documentation ...