1 # $Id: Makefile,v 1.203 2004/01/14 02:14:46 sedwards 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 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
= libwine advapi32 cabinet cards crtdll comdlg32 fmifs freetype gdi32 kernel32 packet lzexpand \
45 msafd msvcrt msvcrt20 ntdll ole32 oledlg psapi richedit rpcrt4 secur32 shell32 shlwapi \
46 syssetup twain unicode user32 userenv version winspool ws2help ws2_32 wsock32 \
47 wshirda imm32 iphlpapi msgina mswsock msimg32 d3d8thk winmm 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 videoprt
68 DEVICE_DRIVERS
= beep blue debugout floppy null serial 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 explorer format services setup taskmgr userinit usetup welcome winlogon regedit
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
) VIDEO_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_SVC
:%=%_implib
) $(EXT_MODULES
:%=%_implib
)
130 clean: tools dk_clean
$(HALS
:%=%_clean
) \
131 $(COMPONENTS
:%=%_clean
) $(BUS
:%=%_clean
) $(LIB_STATIC
:%=%_clean
) $(LIB_FSLIB
:%=%_clean
) $(DLLS
:%=%_clean
) \
132 $(LOADERS
:%=%_clean
) $(KERNEL_DRIVERS
:%=%_clean
) $(SUBSYS
:%=%_clean
) \
133 $(SYS_APPS
:%=%_clean
) $(SYS_SVC
:%=%_clean
) \
134 $(NET_APPS
:%=%_clean
) \
135 $(APPS
:%=%_clean
) $(EXT_MODULES
:%=%_clean
) $(REGTESTS
:%=%_clean
) \
136 clean_after tools_clean
139 $(RM
) $(PATH_TO_TOP
)/include/roscfg.h
141 install: tools install_dirs install_before \
142 $(COMPONENTS
:%=%_install
) $(HALS
:%=%_install
) $(BUS
:%=%_install
) \
143 $(LIB_STATIC
:%=%_install
) $(LIB_FSLIB
:%=%_install
) $(DLLS
:%=%_install
) $(LOADERS
:%=%_install
) \
144 $(KERNEL_DRIVERS
:%=%_install
) $(SUBSYS
:%=%_install
) \
145 $(SYS_APPS
:%=%_install
) $(SYS_SVC
:%=%_install
) \
146 $(APPS
:%=%_install
) $(EXT_MODULES
:%=%_install
) $(REGTESTS
:%=%_install
) \
149 FREELDR_DIR
= ..
/freeldr
152 $(MAKE
) -C
$(FREELDR_DIR
)
154 bootcd_directory_layout
:
155 $(RMKDIR
) $(BOOTCD_DIR
)
156 $(RMKDIR
) $(BOOTCD_DIR
)/bootdisk
157 $(RMKDIR
) $(BOOTCD_DIR
)/loader
158 $(RMKDIR
) $(BOOTCD_DIR
)/reactos
159 $(RMKDIR
) $(BOOTCD_DIR
)/reactos
/system32
160 $(CP
) ${FREELDR_DIR}/bootsect
/isoboot.bin
${BOOTCD_DIR}/..
/isoboot.bin
161 $(CP
) ${FREELDR_DIR}/bootsect
/dosmbr.bin
${BOOTCD_DIR}/loader
/dosmbr.bin
162 $(CP
) ${FREELDR_DIR}/bootsect
/ext2.bin
${BOOTCD_DIR}/loader
/ext2.bin
163 $(CP
) ${FREELDR_DIR}/bootsect
/fat.bin
${BOOTCD_DIR}/loader
/fat.bin
164 $(CP
) ${FREELDR_DIR}/bootsect
/fat32.bin
${BOOTCD_DIR}/loader
/fat32.bin
165 $(CP
) ${FREELDR_DIR}/bootsect
/isoboot.bin
${BOOTCD_DIR}/loader
/isoboot.bin
166 $(CP
) ${FREELDR_DIR}/freeldr
/obj
/i386
/freeldr.sys
${BOOTCD_DIR}/loader
/freeldr.sys
167 $(CP
) ${FREELDR_DIR}/freeldr
/obj
/i386
/setupldr.sys
${BOOTCD_DIR}/loader
/setupldr.sys
169 bootcd_bootstrap_files
: $(COMPONENTS
:%=%_bootcd
) $(HALS
:%=%_bootcd
) $(BUS
:%=%_bootcd
) \
170 $(LIB_STATIC
:%=%_bootcd
) $(LIB_FSLIB
:%=%_bootcd
) $(DLLS
:%=%_bootcd
) $(KERNEL_DRIVERS
:%=%_bootcd
) \
171 $(SUBSYS
:%=%_bootcd
) $(SYS_APPS
:%=%_bootcd
)
173 bootcd_install_before
:
174 $(RLINE
) bootdata
/autorun.inf
$(BOOTCD_DIR
)/autorun.inf
175 $(RLINE
) bootdata
/readme.txt
$(BOOTCD_DIR
)/readme.txt
176 $(RLINE
) bootdata
/hivecls.inf
$(BOOTCD_DIR
)/reactos
/hivecls.inf
177 $(RLINE
) bootdata
/hivedef.inf
$(BOOTCD_DIR
)/reactos
/hivedef.inf
178 $(RLINE
) bootdata
/hivesft.inf
$(BOOTCD_DIR
)/reactos
/hivesft.inf
179 $(RLINE
) bootdata
/hivesys.inf
$(BOOTCD_DIR
)/reactos
/hivesys.inf
180 $(RLINE
) bootdata
/txtsetup.sif
$(BOOTCD_DIR
)/reactos
/txtsetup.sif
181 $(CP
) bootdata
/icon.ico
$(BOOTCD_DIR
)/icon.ico
182 $(CP
) media
/nls
/c_1252.nls
$(BOOTCD_DIR
)/reactos
/c_1252.nls
183 $(CP
) media
/nls
/c_437.nls
$(BOOTCD_DIR
)/reactos
/c_437.nls
184 $(CP
) media
/nls
/l_intl.nls
$(BOOTCD_DIR
)/reactos
/l_intl.nls
186 bootcd_basic
: bootcd_directory_layout bootcd_bootstrap_files bootcd_install_before
189 $(CABMAN
) /C bootdata
/packages
/reactos.dff
/L
$(BOOTCD_DIR
)/reactos
/I
190 $(CABMAN
) /C bootdata
/packages
/reactos.dff
/RC
$(BOOTCD_DIR
)/reactos
/reactos.inf
/L
$(BOOTCD_DIR
)/reactos
/N
191 - $(RM
) $(BOOTCD_DIR
)/reactos
/reactos.inf
192 $(TOOLS_PATH
)/cdmake
/cdmake
-v
-m
-b
$(BOOTCD_DIR
)/..
/isoboot.bin
$(BOOTCD_DIR
) REACTOS ReactOS.iso
195 $(CP
) bootdata
/unattend.inf
$(BOOTCD_DIR
)/reactos
/unattend.inf
197 bootcd
: bootcd_basic bootcd_makecd
199 ubootcd
: bootcd_basic ubootcd_unattend bootcd_makecd
202 $(TOOLS_PATH
)/mkhive
/mkhive
$(EXE_POSTFIX
) bootdata
$(INSTALL_DIR
)/system32
/config
204 .PHONY
: all depends implib
clean clean_before
install freeldr bootcd_directory_layout \
205 bootcd_bootstrap_files bootcd_install_before bootcd_basic bootcd_makecd ubootcd_unattend bootcd
209 # System Applications
212 $(MAKE
) -C subsys
/system
/$*
214 $(SYS_APPS
:%=%_implib
): %_implib
:
215 $(MAKE
) -C subsys
/system
/$* implib
217 $(SYS_APPS
:%=%_clean
): %_clean
:
218 $(MAKE
) -C subsys
/system
/$* clean
220 $(SYS_APPS
:%=%_install
): %_install
:
221 $(MAKE
) -C subsys
/system
/$* install
223 $(SYS_APPS
:%=%_bootcd
): %_bootcd
:
224 $(MAKE
) -C subsys
/system
/$* bootcd
226 .PHONY
: $(SYS_APPS
) $(SYS_APPS
:%=%_implib
) $(SYS_APPS
:%=%_clean
) $(SYS_APPS
:%=%_install
) $(SYS_APPS
:%=%_bootcd
)
232 $(MAKE
) -C services
/$*
234 $(SYS_SVC
:%=%_depends
): %_depends
:
235 $(MAKE
) -C services
/$* depends
237 $(SYS_SVC
:%=%_implib
): %_implib
:
238 $(MAKE
) -C services
/$* implib
240 $(SYS_SVC
:%=%_clean
): %_clean
:
241 $(MAKE
) -C services
/$* clean
243 $(SYS_SVC
:%=%_install
): %_install
:
244 $(MAKE
) -C services
/$* install
246 .PHONY
: $(SYS_SVC
) $(SYS_SVC
:%=%_depends
) $(SYS_SVC
:%=%_implib
) $(SYS_SVC
:%=%_clean
) $(SYS_SVC
:%=%_install
)
253 # 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
)
446 # Video device driver rules
449 $(MAKE
) -C drivers
/video
451 VIDEO_DRIVERS_implib
:
452 $(MAKE
) -C drivers
/video implib
455 $(MAKE
) -C drivers
/video
clean
457 VIDEO_DRIVERS_install
:
458 $(MAKE
) -C drivers
/video
install
460 VIDEO_DRIVERS_bootcd
:
461 $(MAKE
) -C drivers
/video bootcd
463 .PHONY
: VIDEO_DRIVERS VIDEO_DRIVERS_implib VIDEO_DRIVERS_clean \
464 VIDEO_DRIVERS_install VIDEO_DRIVERS_bootcd
471 $(MAKE
) -C drivers
/input
/$*
473 $(INPUT_DRIVERS
:%=%_implib
): %_implib
:
474 $(MAKE
) -C drivers
/input
/$* implib
476 $(INPUT_DRIVERS
:%=%_clean
): %_clean
:
477 $(MAKE
) -C drivers
/input
/$* clean
479 $(INPUT_DRIVERS
:%=%_install
): %_install
:
480 $(MAKE
) -C drivers
/input
/$* install
482 $(INPUT_DRIVERS
:%=%_bootcd
): %_bootcd
:
483 $(MAKE
) -C drivers
/input
/$* bootcd
485 .PHONY
: $(INPUT_DRIVERS
) $(INPUT_DRIVERS
:%=%_implib
) $(INPUT_DRIVERS
:%=%_clean
)\
486 $(INPUT_DRIVERS
:%=%_install
) $(INPUT_DRIVERS
:%=%_bootcd
)
489 # Filesystem driver rules
492 $(MAKE
) -C drivers
/fs
/$*
494 $(FS_DRIVERS
:%=%_implib
): %_implib
:
495 $(MAKE
) -C drivers
/fs
/$* implib
497 $(FS_DRIVERS
:%=%_clean
): %_clean
:
498 $(MAKE
) -C drivers
/fs
/$* clean
500 $(FS_DRIVERS
:%=%_install
): %_install
:
501 $(MAKE
) -C drivers
/fs
/$* install
503 $(FS_DRIVERS
:%=%_bootcd
): %_bootcd
:
504 $(MAKE
) -C drivers
/fs
/$* bootcd
506 .PHONY
: $(FS_DRIVERS
) $(FS_DRIVERS
:%=%_implib
) $(FS_DRIVERS
:%=%_clean
) \
507 $(FS_DRIVERS
:%=%_install
) $(FS_DRIVERS
:%=%_bootcd
)
511 # Network driver rules
514 $(MAKE
) -C drivers
/net
/$*
516 $(NET_DRIVERS
:%=%_implib
): %_implib
:
517 $(MAKE
) -C drivers
/net
/$* implib
519 $(NET_DRIVERS
:%=%_clean
): %_clean
:
520 $(MAKE
) -C drivers
/net
/$* clean
522 $(NET_DRIVERS
:%=%_install
): %_install
:
523 $(MAKE
) -C drivers
/net
/$* install
525 $(NET_DRIVERS
:%=%_bootcd
): %_bootcd
:
526 $(MAKE
) -C drivers
/net
/$* bootcd
528 .PHONY
: $(NET_DRIVERS
) $(NET_DRIVERS
:%=%_implib
) $(NET_DRIVERS
:%=%_clean
) \
529 $(NET_DRIVERS
:%=%_install
) $(NET_DRIVERS
:%=%_bootcd
)
533 # Network device driver rules
535 $(NET_DEVICE_DRIVERS
): %:
536 $(MAKE
) -C drivers
/net
/dd
/$*
538 $(NET_DEVICE_DRIVERS
:%=%_implib
): %_implib
:
539 $(MAKE
) -C drivers
/net
/dd
/$* implib
541 $(NET_DEVICE_DRIVERS
:%=%_clean
): %_clean
:
542 $(MAKE
) -C drivers
/net
/dd
/$* clean
544 $(NET_DEVICE_DRIVERS
:%=%_install
): %_install
:
545 $(MAKE
) -C drivers
/net
/dd
/$* install
547 $(NET_DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
548 $(MAKE
) -C drivers
/net
/dd
/$* bootcd
550 .PHONY
: $(NET_DEVICE_DRIVERS
) $(NET_DEVICE_DRIVERS
:%=%_clean
) $(NET_DEVICE_DRIVERS
:%=%_implib
) \
551 $(NET_DEVICE_DRIVERS
:%=%_install
) $(NET_DEVICE_DRIVERS
:%=%_bootcd
)
555 # storage driver rules
557 $(STORAGE_DRIVERS
): %:
558 $(MAKE
) -C drivers
/storage
/$*
560 $(STORAGE_DRIVERS
:%=%_implib
): %_implib
:
561 $(MAKE
) -C drivers
/storage
/$* implib
563 $(STORAGE_DRIVERS
:%=%_clean
): %_clean
:
564 $(MAKE
) -C drivers
/storage
/$* clean
566 $(STORAGE_DRIVERS
:%=%_install
): %_install
:
567 $(MAKE
) -C drivers
/storage
/$* install
569 $(STORAGE_DRIVERS
:%=%_bootcd
): %_bootcd
:
570 $(MAKE
) -C drivers
/storage
/$* bootcd
572 .PHONY
: $(STORAGE_DRIVERS
) $(STORAGE_DRIVERS
:%=%_clean
) $(STORAGE_DRIVERS
:%=%_implib
) \
573 $(STORAGE_DRIVERS
:%=%_install
) $(STORAGE_DRIVERS
:%=%_bootcd
)
580 $(MAKE
) -C loaders
/$*
582 $(LOADERS
:%=%_implib
): %_implib
:
584 $(LOADERS
:%=%_clean
): %_clean
:
585 $(MAKE
) -C loaders
/$* clean
587 $(LOADERS
:%=%_install
): %_install
:
588 $(MAKE
) -C loaders
/$* install
590 .PHONY
: $(LOADERS
) $(LOADERS
:%=%_implib
) $(LOADERS
:%=%_clean
) $(LOADERS
:%=%_install
)
594 # Required system components
600 $(MAKE
) -C ntoskrnl implib
603 $(MAKE
) -C ntoskrnl
clean
606 $(MAKE
) -C ntoskrnl
install
609 $(MAKE
) -C ntoskrnl bootcd
611 .PHONY
: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_bootcd
615 # Hardware Abstraction Layer import library
621 $(MAKE
) -C hal
/hal implib
624 $(MAKE
) -C hal
/hal
clean
627 $(MAKE
) -C hal
/hal
install
630 $(MAKE
) -C hal
/hal bootcd
632 .PHONY
: hallib hallib_implib hallib_clean hallib_install hallib_bootcd
636 # Hardware Abstraction Layers
641 $(HALS
:%=%_implib
): %_implib
:
642 $(MAKE
) -C hal
/$* implib
644 $(HALS
:%=%_clean
): %_clean
:
645 $(MAKE
) -C hal
/$* clean
647 $(HALS
:%=%_install
): %_install
:
648 $(MAKE
) -C hal
/$* install
650 $(HALS
:%=%_bootcd
): %_bootcd
:
651 $(MAKE
) -C hal
/$* bootcd
653 .PHONY
: $(HALS
) $(HALS
:%=%_implib
) $(HALS
:%=%_clean
) $(HALS
:%=%_install
) $(HALS
:%=%_bootcd
)
657 # File system libraries
660 $(MAKE
) -C lib
/fslib
/$*
662 $(LIB_FSLIB
:%=%_depends
): %_depends
:
663 $(MAKE
) -C lib
/fslib
/$* depends
665 $(LIB_FSLIB
:%=%_implib
): %_implib
:
666 $(MAKE
) -C lib
/fslib
/$* implib
668 $(LIB_FSLIB
:%=%_clean
): %_clean
:
669 $(MAKE
) -C lib
/fslib
/$* clean
671 $(LIB_FSLIB
:%=%_install
): %_install
:
672 $(MAKE
) -C lib
/fslib
/$* install
674 $(LIB_FSLIB
:%=%_bootcd
): %_bootcd
:
675 $(MAKE
) -C lib
/fslib
/$* bootcd
677 .PHONY
: $(LIB_FSLIB
) $(LIB_FSLIB
:%=%_depends
) $(LIB_FSLIB
:%=%_implib
) $(LIB_FSLIB
:%=%_clean
) \
678 $(LIB_FSLIB
:%=%_install
) $(LIB_FSLIB
:%=%_bootcd
)
687 $(LIB_STATIC
:%=%_depends
): %_depends
:
688 $(MAKE
) -C lib
/string depends
690 $(LIB_STATIC
:%=%_implib
): %_implib
:
691 $(MAKE
) -C lib
/$* implib
693 $(LIB_STATIC
:%=%_clean
): %_clean
:
694 $(MAKE
) -C lib
/$* clean
696 $(LIB_STATIC
:%=%_install
): %_install
:
697 $(MAKE
) -C lib
/$* install
699 $(LIB_STATIC
:%=%_bootcd
): %_bootcd
:
700 $(MAKE
) -C lib
/$* bootcd
702 .PHONY
: $(LIB_STATIC
) $(LIB_STATIC
:%=%_depends
) $(LIB_STATIC
:%=%_implib
) $(LIB_STATIC
:%=%_clean
) \
703 $(LIB_STATIC
:%=%_install
) $(LIB_STATIC
:%=%_bootcd
)
712 $(DLLS
:%=%_depends
): %_depends
:
713 $(MAKE
) -C lib
/$* depends
715 $(DLLS
:%=%_implib
): %_implib
:
716 $(MAKE
) -C lib
/$* implib
718 $(DLLS
:%=%_clean
): %_clean
:
719 $(MAKE
) -C lib
/$* clean
721 $(DLLS
:%=%_install
): %_install
:
722 $(MAKE
) -C lib
/$* install
724 $(DLLS
:%=%_bootcd
): %_bootcd
:
725 $(MAKE
) -C lib
/$* bootcd
727 .PHONY
: $(DLLS
) $(DLLS
:%=%_depends
) $(DLLS
:%=%_implib
) $(DLLS
:%=%_clean
) $(DLLS
:%=%_install
) \
732 # Subsystem support modules
737 $(SUBSYS
:%=%_depends
): %_depends
:
738 $(MAKE
) -C subsys
/$* depends
740 $(SUBSYS
:%=%_implib
): %_implib
:
741 $(MAKE
) -C subsys
/$* implib
743 $(SUBSYS
:%=%_clean
): %_clean
:
744 $(MAKE
) -C subsys
/$* clean
746 $(SUBSYS
:%=%_install
): %_install
:
747 $(MAKE
) -C subsys
/$* install
749 $(SUBSYS
:%=%_bootcd
): %_bootcd
:
750 $(MAKE
) -C subsys
/$* bootcd
752 .PHONY
: $(SUBSYS
) $(SUBSYS
:%=%_depends
) $(SUBSYS
:%=%_implib
) $(SUBSYS
:%=%_clean
) $(SUBSYS
:%=%_install
) \
756 # Regression testsuite
762 $(REGTESTS
:%=%_clean
): %_clean
:
763 $(MAKE
) -C regtests
clean
765 $(REGTESTS
:%=%_install
): %_install
:
766 $(MAKE
) -C regtests
install
768 .PHONY
: $(REGTESTS
) $(REGTESTS
:%=%_depends
) $(SUBSYS
:%=%_clean
) $(REGTESTS
:%=%_install
)
772 # Create an installation
776 $(RM
) $(INSTALL_DIR
)/system32
/drivers
/*.
*
777 $(RM
) $(INSTALL_DIR
)/system32
/config
/*.
*
778 $(RM
) $(INSTALL_DIR
)/system32
/*.
*
779 $(RM
) $(INSTALL_DIR
)/symbols
/*.
*
780 $(RM
) $(INSTALL_DIR
)/media
/fonts
/*.
*
781 $(RM
) $(INSTALL_DIR
)/media
/*.
*
782 $(RM
) $(INSTALL_DIR
)/bin
/*.
*
783 $(RM
) $(INSTALL_DIR
)/*.com
784 $(RM
) $(INSTALL_DIR
)/*.bat
785 $(RMDIR
) $(INSTALL_DIR
)/system32
/drivers
786 $(RMDIR
) $(INSTALL_DIR
)/system32
/config
787 $(RMDIR
) $(INSTALL_DIR
)/system32
788 $(RMDIR
) $(INSTALL_DIR
)/symbols
789 $(RMDIR
) $(INSTALL_DIR
)/media
/fonts
790 $(RMDIR
) $(INSTALL_DIR
)/media
791 $(RMDIR
) $(INSTALL_DIR
)/bin
792 $(RMDIR
) $(INSTALL_DIR
)
795 $(RMKDIR
) $(INSTALL_DIR
)
796 $(RMKDIR
) $(INSTALL_DIR
)/bin
797 $(RMKDIR
) $(INSTALL_DIR
)/media
798 $(RMKDIR
) $(INSTALL_DIR
)/media
/fonts
799 $(RMKDIR
) $(INSTALL_DIR
)/symbols
800 $(RMKDIR
) $(INSTALL_DIR
)/system32
801 $(RMKDIR
) $(INSTALL_DIR
)/system32
/config
802 $(RMKDIR
) $(INSTALL_DIR
)/system32
/drivers
805 $(CP
) bootc.lst
$(INSTALL_DIR
)/bootc.lst
806 $(CP
) boot.bat
$(INSTALL_DIR
)/boot.bat
807 $(CP
) aboot.bat
$(INSTALL_DIR
)/aboot.bat
808 $(CP
) media
/fonts
$(INSTALL_DIR
)/media
/fonts
809 $(CP
) media
/nls
$(INSTALL_DIR
)/system32
810 $(CP
) media
/nls
/c_1252.nls
$(INSTALL_DIR
)/system32
/ansi.nls
811 $(CP
) media
/nls
/c_437.nls
$(INSTALL_DIR
)/system32
/oem.nls
812 $(CP
) media
/nls
/l_intl.nls
$(INSTALL_DIR
)/system32
/casemap.nls
814 .PHONY
: install_clean install_dirs install_before
818 find .
-name
"*.[ch]" -print | etags
--language
=c
-
822 echo generating ReactOS NTOSKRNL documentation ...
823 $(MAKE
) -C ntoskrnl docu
825 echo generating ReactOS drivers documentation ...
826 $(MAKE
) -C drivers docu
828 echo generating ReactOS NTDLL documentation ...
829 $(MAKE
) -C lib
/ntdll docu
831 echo generating ReactOS Freetype documentation ...
832 $(MAKE
) -C lib
/freetype docu
834 echo generating ReactOS libs documentation ...
837 echo generating ReactOS WIN32K documentation ...
838 $(MAKE
) -C subsys
/win32k docu
840 echo generating ReactOS apps
+tools documentation ...
843 echo generating ReactOS explorer documentation ...
844 $(MAKE
) -C subsys
/system
/explorer full-docu
846 echo generating remaining ReactOS documentation ...