1 # $Id: Makefile,v 1.207 2004/01/23 10:47:22 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
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 samlib secur32 shell32 shlwapi snmpapi \
47 syssetup twain unicode user32 userenv version winmm winspool ws2help ws2_32 wsock32 \
51 SUBSYS
= smss win32k csrss ntvdm
54 # Select the server(s) you want to build
56 #SERVERS = posix linux os2
63 # Driver support libraries
67 # Kernel mode device drivers
69 # beep blue floppy null parallel ramdrv serenum serial
70 DEVICE_DRIVERS
= beep blue debugout floppy null serial bootvid
72 # Kernel mode input drivers
73 INPUT_DRIVERS
= keyboard mouclass psaux sermouse
75 # Kernel mode file system drivers
76 # cdfs ext2 fs_rec ms np vfat
77 FS_DRIVERS
= cdfs fs_rec ms np vfat mup ntfs
79 # Kernel mode networking drivers
80 # afd ndis npf tcpip tdi wshtcpip
81 NET_DRIVERS
= afd ndis npf tcpip tdi wshtcpip
83 # Kernel mode networking device drivers
85 NET_DEVICE_DRIVERS
= ne2000 pcnet
87 # Kernel mode storage drivers
88 # atapi cdrom class2 disk scsiport
89 STORAGE_DRIVERS
= atapi cdrom class2 disk scsiport diskdump
92 # autochk cmd format services setup usetup welcome winlogon
93 SYS_APPS
= autochk cmd explorer format services setup taskmgr userinit usetup welcome winlogon regedit
97 SYS_SVC
= rpcss eventlog
99 APPS
= tests testsets utils
102 # External (sub)systems for ReactOS
103 # rosapps wine posix os2 (requires c++) java (non-existant)
104 EXTERNALS
= rosapps wine posix os2
106 ifeq ($(ROS_BUILD_EXT
),yes
)
107 EXT_MODULES
= $(EXTERNALS
)
112 KERNEL_DRIVERS
= $(DRIVERS_LIB
) $(DEVICE_DRIVERS
) $(INPUT_DRIVERS
) $(FS_DRIVERS
) \
113 $(NET_DRIVERS
) $(NET_DEVICE_DRIVERS
) $(STORAGE_DRIVERS
) VIDEO_DRIVERS
118 all: tools dk implib
$(LIB_STATIC
) $(COMPONENTS
) $(HALS
) $(BUS
) $(LIB_FSLIB
) $(DLLS
) $(SUBSYS
) \
119 $(LOADERS
) $(KERNEL_DRIVERS
) $(SYS_APPS
) $(SYS_SVC
) \
120 $(APPS
) $(EXT_MODULES
) $(REGTESTS
)
122 #config: $(TOOLS:%=%_config)
124 depends
: $(LIB_STATIC
:%=%_depends
) $(LIB_FSLIB
:%=%_depends
) $(DLLS
:%=%_depends
) $(SUBSYS
:%=%_depends
) $(SYS_SVC
:%=%_depends
) \
125 $(EXT_MODULES
:%=%_depends
) $(POSIX_LIBS
:%=%_depends
)
127 implib
: $(COMPONENTS
:%=%_implib
) $(HALS
:%=%_implib
) $(BUS
:%=%_implib
) \
128 $(LIB_STATIC
:%=%_implib
) $(LIB_FSLIB
:%=%_implib
) $(DLLS
:%=%_implib
) $(LOADERS
:%=%_implib
) \
129 $(KERNEL_DRIVERS
:%=%_implib
) $(SUBSYS
:%=%_implib
) \
130 $(SYS_SVC
:%=%_implib
) $(EXT_MODULES
:%=%_implib
)
132 clean: tools dk_clean
$(HALS
:%=%_clean
) \
133 $(COMPONENTS
:%=%_clean
) $(BUS
:%=%_clean
) $(LIB_STATIC
:%=%_clean
) $(LIB_FSLIB
:%=%_clean
) $(DLLS
:%=%_clean
) \
134 $(LOADERS
:%=%_clean
) $(KERNEL_DRIVERS
:%=%_clean
) $(SUBSYS
:%=%_clean
) \
135 $(SYS_APPS
:%=%_clean
) $(SYS_SVC
:%=%_clean
) \
136 $(NET_APPS
:%=%_clean
) \
137 $(APPS
:%=%_clean
) $(EXT_MODULES
:%=%_clean
) $(REGTESTS
:%=%_clean
) \
138 clean_after tools_clean
141 $(RM
) $(PATH_TO_TOP
)/include/roscfg.h
143 install: tools install_dirs install_before \
144 $(COMPONENTS
:%=%_install
) $(HALS
:%=%_install
) $(BUS
:%=%_install
) \
145 $(LIB_STATIC
:%=%_install
) $(LIB_FSLIB
:%=%_install
) $(DLLS
:%=%_install
) $(LOADERS
:%=%_install
) \
146 $(KERNEL_DRIVERS
:%=%_install
) $(SUBSYS
:%=%_install
) \
147 $(SYS_APPS
:%=%_install
) $(SYS_SVC
:%=%_install
) \
148 $(APPS
:%=%_install
) $(EXT_MODULES
:%=%_install
) $(REGTESTS
:%=%_install
) \
151 FREELDR_DIR
= ..
/freeldr
154 $(MAKE
) -C
$(FREELDR_DIR
)
156 bootcd_directory_layout
:
157 $(RMKDIR
) $(BOOTCD_DIR
)
158 $(RMKDIR
) $(BOOTCD_DIR
)/bootdisk
159 $(RMKDIR
) $(BOOTCD_DIR
)/loader
160 $(RMKDIR
) $(BOOTCD_DIR
)/reactos
161 $(RMKDIR
) $(BOOTCD_DIR
)/reactos
/system32
162 $(CP
) ${FREELDR_DIR}/bootsect
/isoboot.bin
${BOOTCD_DIR}/..
/isoboot.bin
163 $(CP
) ${FREELDR_DIR}/bootsect
/dosmbr.bin
${BOOTCD_DIR}/loader
/dosmbr.bin
164 $(CP
) ${FREELDR_DIR}/bootsect
/ext2.bin
${BOOTCD_DIR}/loader
/ext2.bin
165 $(CP
) ${FREELDR_DIR}/bootsect
/fat.bin
${BOOTCD_DIR}/loader
/fat.bin
166 $(CP
) ${FREELDR_DIR}/bootsect
/fat32.bin
${BOOTCD_DIR}/loader
/fat32.bin
167 $(CP
) ${FREELDR_DIR}/bootsect
/isoboot.bin
${BOOTCD_DIR}/loader
/isoboot.bin
168 $(CP
) ${FREELDR_DIR}/freeldr
/obj
/i386
/freeldr.sys
${BOOTCD_DIR}/loader
/freeldr.sys
169 $(CP
) ${FREELDR_DIR}/freeldr
/obj
/i386
/setupldr.sys
${BOOTCD_DIR}/loader
/setupldr.sys
171 bootcd_bootstrap_files
: $(COMPONENTS
:%=%_bootcd
) $(HALS
:%=%_bootcd
) $(BUS
:%=%_bootcd
) \
172 $(LIB_STATIC
:%=%_bootcd
) $(LIB_FSLIB
:%=%_bootcd
) $(DLLS
:%=%_bootcd
) $(KERNEL_DRIVERS
:%=%_bootcd
) \
173 $(SUBSYS
:%=%_bootcd
) $(SYS_APPS
:%=%_bootcd
)
175 bootcd_install_before
:
176 $(RLINE
) bootdata
/autorun.inf
$(BOOTCD_DIR
)/autorun.inf
177 $(RLINE
) bootdata
/readme.txt
$(BOOTCD_DIR
)/readme.txt
178 $(RLINE
) bootdata
/hivecls.inf
$(BOOTCD_DIR
)/reactos
/hivecls.inf
179 $(RLINE
) bootdata
/hivedef.inf
$(BOOTCD_DIR
)/reactos
/hivedef.inf
180 $(RLINE
) bootdata
/hivesft.inf
$(BOOTCD_DIR
)/reactos
/hivesft.inf
181 $(RLINE
) bootdata
/hivesys.inf
$(BOOTCD_DIR
)/reactos
/hivesys.inf
182 $(RLINE
) bootdata
/txtsetup.sif
$(BOOTCD_DIR
)/reactos
/txtsetup.sif
183 $(CP
) bootdata
/icon.ico
$(BOOTCD_DIR
)/icon.ico
184 $(CP
) media
/nls
/c_1252.nls
$(BOOTCD_DIR
)/reactos
/c_1252.nls
185 $(CP
) media
/nls
/c_437.nls
$(BOOTCD_DIR
)/reactos
/c_437.nls
186 $(CP
) media
/nls
/l_intl.nls
$(BOOTCD_DIR
)/reactos
/l_intl.nls
188 bootcd_basic
: bootcd_directory_layout bootcd_bootstrap_files bootcd_install_before
191 $(CABMAN
) /C bootdata
/packages
/reactos.dff
/L
$(BOOTCD_DIR
)/reactos
/I
192 $(CABMAN
) /C bootdata
/packages
/reactos.dff
/RC
$(BOOTCD_DIR
)/reactos
/reactos.inf
/L
$(BOOTCD_DIR
)/reactos
/N
193 - $(RM
) $(BOOTCD_DIR
)/reactos
/reactos.inf
194 $(TOOLS_PATH
)/cdmake
/cdmake
-v
-m
-b
$(BOOTCD_DIR
)/..
/isoboot.bin
$(BOOTCD_DIR
) REACTOS ReactOS.iso
197 $(CP
) bootdata
/unattend.inf
$(BOOTCD_DIR
)/reactos
/unattend.inf
199 bootcd
: bootcd_basic bootcd_makecd
201 ubootcd
: bootcd_basic ubootcd_unattend bootcd_makecd
204 $(TOOLS_PATH
)/mkhive
/mkhive
$(EXE_POSTFIX
) bootdata
$(INSTALL_DIR
)/system32
/config
206 .PHONY
: all depends implib
clean clean_before
install freeldr bootcd_directory_layout \
207 bootcd_bootstrap_files bootcd_install_before bootcd_basic bootcd_makecd ubootcd_unattend bootcd
211 # System Applications
214 $(MAKE
) -C subsys
/system
/$*
216 $(SYS_APPS
:%=%_implib
): %_implib
:
217 $(MAKE
) -C subsys
/system
/$* implib
219 $(SYS_APPS
:%=%_clean
): %_clean
:
220 $(MAKE
) -C subsys
/system
/$* clean
222 $(SYS_APPS
:%=%_install
): %_install
:
223 $(MAKE
) -C subsys
/system
/$* install
225 $(SYS_APPS
:%=%_bootcd
): %_bootcd
:
226 $(MAKE
) -C subsys
/system
/$* bootcd
228 .PHONY
: $(SYS_APPS
) $(SYS_APPS
:%=%_implib
) $(SYS_APPS
:%=%_clean
) $(SYS_APPS
:%=%_install
) $(SYS_APPS
:%=%_bootcd
)
234 $(MAKE
) -C services
/$*
236 $(SYS_SVC
:%=%_depends
): %_depends
:
237 $(MAKE
) -C services
/$* depends
239 $(SYS_SVC
:%=%_implib
): %_implib
:
240 $(MAKE
) -C services
/$* implib
242 $(SYS_SVC
:%=%_clean
): %_clean
:
243 $(MAKE
) -C services
/$* clean
245 $(SYS_SVC
:%=%_install
): %_install
:
246 $(MAKE
) -C services
/$* install
248 .PHONY
: $(SYS_SVC
) $(SYS_SVC
:%=%_depends
) $(SYS_SVC
:%=%_implib
) $(SYS_SVC
:%=%_clean
) $(SYS_SVC
:%=%_install
)
255 # Extra (optional system) Applications
261 # $(APPS:%=%_implib): %_implib:
262 # $(MAKE) -C apps/$* implib
264 $(APPS
:%=%_clean
): %_clean
:
265 $(MAKE
) -C apps
/$* clean
267 $(APPS
:%=%_install
): %_install
:
268 $(MAKE
) -C apps
/$* install
270 .PHONY
: $(APPS
) $(APPS
:%=%_implib
) $(APPS
:%=%_clean
) $(APPS
:%=%_install
)
274 # External ports and subsystem personalities
277 $(MAKE
) -C
$(ROOT_PATH
)/$*
279 $(EXTERNALS
:%=%_depends
): %_depends
:
280 $(MAKE
) -C
$(ROOT_PATH
)/$* depends
282 $(EXTERNALS
:%=%_implib
): %_implib
:
283 $(MAKE
) -C
$(ROOT_PATH
)/$* implib
285 $(EXTERNALS
:%=%_clean
): %_clean
:
286 $(MAKE
) -C
$(ROOT_PATH
)/$* clean
288 $(EXTERNALS
:%=%_install
): %_install
:
289 $(MAKE
) -C
$(ROOT_PATH
)/$* install
291 .PHONY
: $(EXTERNALS
) $(EXTERNALS
:%=%_depends
) $(EXTERNALS
:%=%_implib
) $(EXTERNALS
:%=%_clean
) $(EXTERNALS
:%=%_install
)
303 $(MAKE
) -C tools
clean
307 .PHONY
: tools tools_implib tools_clean tools_install
315 $(RMKDIR
) $(DDK_PATH
)
316 $(RMKDIR
) $(DDK_PATH_LIB
)
317 $(RMKDIR
) $(DDK_PATH_INC
)
318 $(RMKDIR
) $(SDK_PATH
)
319 $(RMKDIR
) $(SDK_PATH_LIB
)
320 $(RMKDIR
) $(SDK_PATH_INC
)
321 $(RMKDIR
) $(XDK_PATH
)
322 $(RMKDIR
) $(XDK_PATH_LIB
)
323 $(RMKDIR
) $(XDK_PATH_INC
)
327 # WARNING! Be very sure that there are no important files
328 # in these directories before cleaning them!!!
330 $(RM
) $(DDK_PATH_LIB
)/*.a
331 # $(RM) $(DDK_PATH_INC)/*.h
332 $(RMDIR
) $(DDK_PATH_LIB
)
333 # $(RMDIR) $(DDK_PATH_INC)
334 $(RM
) $(SDK_PATH_LIB
)/*.a
335 # $(RM) $(SDK_PATH_INC)/*.h
336 $(RMDIR
) $(SDK_PATH_LIB
)
337 # $(RMDIR) $(SDK_PATH_INC)
338 $(RM
) $(XDK_PATH_LIB
)/*.a
339 # $(RM) $(XDK_PATH_INC)/*.h
340 $(RMDIR
) $(XDK_PATH_LIB
)
341 # $(RMDIR) $(XDK_PATH_INC)
345 .PHONY
: dk dk_implib dk_clean dk_install
352 $(MAKE
) -C iface
/native
357 $(MAKE
) -C iface
/native
clean
359 iface_native_install
:
364 $(MAKE
) -C iface
/addsys
366 iface_additional_implib
:
368 iface_additional_clean
:
369 $(MAKE
) -C iface
/addsys
clean
371 iface_additional_install
:
373 iface_additional_bootcd
:
375 .PHONY
: iface_native iface_native_implib iface_native_clean iface_native_install \
376 iface_native_bootcd \
377 iface_additional iface_additional_implib iface_additional_clean \
378 iface_additional_install iface_additional_bootcd
385 $(MAKE
) -C drivers
/bus
/$*
387 $(BUS
:%=%_implib
): %_implib
:
388 $(MAKE
) -C drivers
/bus
/$* implib
390 $(BUS
:%=%_clean
): %_clean
:
391 $(MAKE
) -C drivers
/bus
/$* clean
393 $(BUS
:%=%_install
): %_install
:
394 $(MAKE
) -C drivers
/bus
/$* install
396 $(BUS
:%=%_bootcd
): %_bootcd
:
397 $(MAKE
) -C drivers
/bus
/$* bootcd
399 .PHONY
: $(BUS
) $(BUS
:%=%_implib
) $(BUS
:%=%_clean
) \
400 $(BUS
:%=%_install
) $(BUS
:%=%_bootcd
)
404 # Driver support libraries rules
407 $(MAKE
) -C drivers
/lib
/$*
409 $(DRIVERS_LIB
:%=%_implib
): %_implib
:
410 $(MAKE
) -C drivers
/lib
/$* implib
412 $(DRIVERS_LIB
:%=%_clean
): %_clean
:
413 $(MAKE
) -C drivers
/lib
/$* clean
415 $(DRIVERS_LIB
:%=%_install
): %_install
:
416 $(MAKE
) -C drivers
/lib
/$* install
418 $(DRIVERS_LIB
:%=%_bootcd
): %_bootcd
:
419 $(MAKE
) -C drivers
/lib
/$* bootcd
421 .PHONY
: $(DRIVERS_LIB
) $(DRIVERS_LIB
:%=%_implib
) $(DRIVERS_LIB
:%=%_clean
) \
422 $(DRIVERS_LIB
:%=%_install
) $(DRIVERS_LIB
:%=%_bootcd
)
426 # Device driver rules
428 $(DEVICE_DRIVERS
): %:
429 $(MAKE
) -C drivers
/dd
/$*
431 $(DEVICE_DRIVERS
:%=%_implib
): %_implib
:
432 $(MAKE
) -C drivers
/dd
/$* implib
434 $(DEVICE_DRIVERS
:%=%_clean
): %_clean
:
435 $(MAKE
) -C drivers
/dd
/$* clean
437 $(DEVICE_DRIVERS
:%=%_install
): %_install
:
438 $(MAKE
) -C drivers
/dd
/$* install
440 $(DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
441 $(MAKE
) -C drivers
/dd
/$* bootcd
443 .PHONY
: $(DEVICE_DRIVERS
) $(DEVICE_DRIVERS
:%=%_implib
) $(DEVICE_DRIVERS
:%=%_clean
) \
444 $(DEVICE_DRIVERS
:%=%_install
) $(DEVICE_DRIVERS
:%=%_bootcd
)
448 # Video device driver rules
451 $(MAKE
) -C drivers
/video
453 VIDEO_DRIVERS_implib
:
454 $(MAKE
) -C drivers
/video implib
457 $(MAKE
) -C drivers
/video
clean
459 VIDEO_DRIVERS_install
:
460 $(MAKE
) -C drivers
/video
install
462 VIDEO_DRIVERS_bootcd
:
463 $(MAKE
) -C drivers
/video bootcd
465 .PHONY
: VIDEO_DRIVERS VIDEO_DRIVERS_implib VIDEO_DRIVERS_clean \
466 VIDEO_DRIVERS_install VIDEO_DRIVERS_bootcd
473 $(MAKE
) -C drivers
/input
/$*
475 $(INPUT_DRIVERS
:%=%_implib
): %_implib
:
476 $(MAKE
) -C drivers
/input
/$* implib
478 $(INPUT_DRIVERS
:%=%_clean
): %_clean
:
479 $(MAKE
) -C drivers
/input
/$* clean
481 $(INPUT_DRIVERS
:%=%_install
): %_install
:
482 $(MAKE
) -C drivers
/input
/$* install
484 $(INPUT_DRIVERS
:%=%_bootcd
): %_bootcd
:
485 $(MAKE
) -C drivers
/input
/$* bootcd
487 .PHONY
: $(INPUT_DRIVERS
) $(INPUT_DRIVERS
:%=%_implib
) $(INPUT_DRIVERS
:%=%_clean
)\
488 $(INPUT_DRIVERS
:%=%_install
) $(INPUT_DRIVERS
:%=%_bootcd
)
491 # Filesystem driver rules
494 $(MAKE
) -C drivers
/fs
/$*
496 $(FS_DRIVERS
:%=%_implib
): %_implib
:
497 $(MAKE
) -C drivers
/fs
/$* implib
499 $(FS_DRIVERS
:%=%_clean
): %_clean
:
500 $(MAKE
) -C drivers
/fs
/$* clean
502 $(FS_DRIVERS
:%=%_install
): %_install
:
503 $(MAKE
) -C drivers
/fs
/$* install
505 $(FS_DRIVERS
:%=%_bootcd
): %_bootcd
:
506 $(MAKE
) -C drivers
/fs
/$* bootcd
508 .PHONY
: $(FS_DRIVERS
) $(FS_DRIVERS
:%=%_implib
) $(FS_DRIVERS
:%=%_clean
) \
509 $(FS_DRIVERS
:%=%_install
) $(FS_DRIVERS
:%=%_bootcd
)
513 # Network driver rules
516 $(MAKE
) -C drivers
/net
/$*
518 $(NET_DRIVERS
:%=%_implib
): %_implib
:
519 $(MAKE
) -C drivers
/net
/$* implib
521 $(NET_DRIVERS
:%=%_clean
): %_clean
:
522 $(MAKE
) -C drivers
/net
/$* clean
524 $(NET_DRIVERS
:%=%_install
): %_install
:
525 $(MAKE
) -C drivers
/net
/$* install
527 $(NET_DRIVERS
:%=%_bootcd
): %_bootcd
:
528 $(MAKE
) -C drivers
/net
/$* bootcd
530 .PHONY
: $(NET_DRIVERS
) $(NET_DRIVERS
:%=%_implib
) $(NET_DRIVERS
:%=%_clean
) \
531 $(NET_DRIVERS
:%=%_install
) $(NET_DRIVERS
:%=%_bootcd
)
535 # Network device driver rules
537 $(NET_DEVICE_DRIVERS
): %:
538 $(MAKE
) -C drivers
/net
/dd
/$*
540 $(NET_DEVICE_DRIVERS
:%=%_implib
): %_implib
:
541 $(MAKE
) -C drivers
/net
/dd
/$* implib
543 $(NET_DEVICE_DRIVERS
:%=%_clean
): %_clean
:
544 $(MAKE
) -C drivers
/net
/dd
/$* clean
546 $(NET_DEVICE_DRIVERS
:%=%_install
): %_install
:
547 $(MAKE
) -C drivers
/net
/dd
/$* install
549 $(NET_DEVICE_DRIVERS
:%=%_bootcd
): %_bootcd
:
550 $(MAKE
) -C drivers
/net
/dd
/$* bootcd
552 .PHONY
: $(NET_DEVICE_DRIVERS
) $(NET_DEVICE_DRIVERS
:%=%_clean
) $(NET_DEVICE_DRIVERS
:%=%_implib
) \
553 $(NET_DEVICE_DRIVERS
:%=%_install
) $(NET_DEVICE_DRIVERS
:%=%_bootcd
)
557 # storage driver rules
559 $(STORAGE_DRIVERS
): %:
560 $(MAKE
) -C drivers
/storage
/$*
562 $(STORAGE_DRIVERS
:%=%_implib
): %_implib
:
563 $(MAKE
) -C drivers
/storage
/$* implib
565 $(STORAGE_DRIVERS
:%=%_clean
): %_clean
:
566 $(MAKE
) -C drivers
/storage
/$* clean
568 $(STORAGE_DRIVERS
:%=%_install
): %_install
:
569 $(MAKE
) -C drivers
/storage
/$* install
571 $(STORAGE_DRIVERS
:%=%_bootcd
): %_bootcd
:
572 $(MAKE
) -C drivers
/storage
/$* bootcd
574 .PHONY
: $(STORAGE_DRIVERS
) $(STORAGE_DRIVERS
:%=%_clean
) $(STORAGE_DRIVERS
:%=%_implib
) \
575 $(STORAGE_DRIVERS
:%=%_install
) $(STORAGE_DRIVERS
:%=%_bootcd
)
582 $(MAKE
) -C loaders
/$*
584 $(LOADERS
:%=%_implib
): %_implib
:
586 $(LOADERS
:%=%_clean
): %_clean
:
587 $(MAKE
) -C loaders
/$* clean
589 $(LOADERS
:%=%_install
): %_install
:
590 $(MAKE
) -C loaders
/$* install
592 .PHONY
: $(LOADERS
) $(LOADERS
:%=%_implib
) $(LOADERS
:%=%_clean
) $(LOADERS
:%=%_install
)
596 # Required system components
602 $(MAKE
) -C ntoskrnl implib
605 $(MAKE
) -C ntoskrnl
clean
608 $(MAKE
) -C ntoskrnl
install
611 $(MAKE
) -C ntoskrnl bootcd
613 .PHONY
: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_bootcd
617 # Hardware Abstraction Layer import library
623 $(MAKE
) -C hal
/hal implib
626 $(MAKE
) -C hal
/hal
clean
629 $(MAKE
) -C hal
/hal
install
632 $(MAKE
) -C hal
/hal bootcd
634 .PHONY
: hallib hallib_implib hallib_clean hallib_install hallib_bootcd
638 # Hardware Abstraction Layers
643 $(HALS
:%=%_implib
): %_implib
:
644 $(MAKE
) -C hal
/$* implib
646 $(HALS
:%=%_clean
): %_clean
:
647 $(MAKE
) -C hal
/$* clean
649 $(HALS
:%=%_install
): %_install
:
650 $(MAKE
) -C hal
/$* install
652 $(HALS
:%=%_bootcd
): %_bootcd
:
653 $(MAKE
) -C hal
/$* bootcd
655 .PHONY
: $(HALS
) $(HALS
:%=%_implib
) $(HALS
:%=%_clean
) $(HALS
:%=%_install
) $(HALS
:%=%_bootcd
)
659 # File system libraries
662 $(MAKE
) -C lib
/fslib
/$*
664 $(LIB_FSLIB
:%=%_depends
): %_depends
:
665 $(MAKE
) -C lib
/fslib
/$* depends
667 $(LIB_FSLIB
:%=%_implib
): %_implib
:
668 $(MAKE
) -C lib
/fslib
/$* implib
670 $(LIB_FSLIB
:%=%_clean
): %_clean
:
671 $(MAKE
) -C lib
/fslib
/$* clean
673 $(LIB_FSLIB
:%=%_install
): %_install
:
674 $(MAKE
) -C lib
/fslib
/$* install
676 $(LIB_FSLIB
:%=%_bootcd
): %_bootcd
:
677 $(MAKE
) -C lib
/fslib
/$* bootcd
679 .PHONY
: $(LIB_FSLIB
) $(LIB_FSLIB
:%=%_depends
) $(LIB_FSLIB
:%=%_implib
) $(LIB_FSLIB
:%=%_clean
) \
680 $(LIB_FSLIB
:%=%_install
) $(LIB_FSLIB
:%=%_bootcd
)
689 $(LIB_STATIC
:%=%_depends
): %_depends
:
690 $(MAKE
) -C lib
/string depends
692 $(LIB_STATIC
:%=%_implib
): %_implib
:
693 $(MAKE
) -C lib
/$* implib
695 $(LIB_STATIC
:%=%_clean
): %_clean
:
696 $(MAKE
) -C lib
/$* clean
698 $(LIB_STATIC
:%=%_install
): %_install
:
699 $(MAKE
) -C lib
/$* install
701 $(LIB_STATIC
:%=%_bootcd
): %_bootcd
:
702 $(MAKE
) -C lib
/$* bootcd
704 .PHONY
: $(LIB_STATIC
) $(LIB_STATIC
:%=%_depends
) $(LIB_STATIC
:%=%_implib
) $(LIB_STATIC
:%=%_clean
) \
705 $(LIB_STATIC
:%=%_install
) $(LIB_STATIC
:%=%_bootcd
)
714 $(DLLS
:%=%_depends
): %_depends
:
715 $(MAKE
) -C lib
/$* depends
717 $(DLLS
:%=%_implib
): %_implib
:
718 $(MAKE
) -C lib
/$* implib
720 $(DLLS
:%=%_clean
): %_clean
:
721 $(MAKE
) -C lib
/$* clean
723 $(DLLS
:%=%_install
): %_install
:
724 $(MAKE
) -C lib
/$* install
726 $(DLLS
:%=%_bootcd
): %_bootcd
:
727 $(MAKE
) -C lib
/$* bootcd
729 .PHONY
: $(DLLS
) $(DLLS
:%=%_depends
) $(DLLS
:%=%_implib
) $(DLLS
:%=%_clean
) $(DLLS
:%=%_install
) \
734 # Subsystem support modules
739 $(SUBSYS
:%=%_depends
): %_depends
:
740 $(MAKE
) -C subsys
/$* depends
742 $(SUBSYS
:%=%_implib
): %_implib
:
743 $(MAKE
) -C subsys
/$* implib
745 $(SUBSYS
:%=%_clean
): %_clean
:
746 $(MAKE
) -C subsys
/$* clean
748 $(SUBSYS
:%=%_install
): %_install
:
749 $(MAKE
) -C subsys
/$* install
751 $(SUBSYS
:%=%_bootcd
): %_bootcd
:
752 $(MAKE
) -C subsys
/$* bootcd
754 .PHONY
: $(SUBSYS
) $(SUBSYS
:%=%_depends
) $(SUBSYS
:%=%_implib
) $(SUBSYS
:%=%_clean
) $(SUBSYS
:%=%_install
) \
758 # Regression testsuite
764 $(REGTESTS
:%=%_clean
): %_clean
:
765 $(MAKE
) -C regtests
clean
767 $(REGTESTS
:%=%_install
): %_install
:
768 $(MAKE
) -C regtests
install
770 .PHONY
: $(REGTESTS
) $(REGTESTS
:%=%_depends
) $(SUBSYS
:%=%_clean
) $(REGTESTS
:%=%_install
)
774 # Create an installation
778 $(RM
) $(INSTALL_DIR
)/system32
/drivers
/*.
*
779 $(RM
) $(INSTALL_DIR
)/system32
/config
/*.
*
780 $(RM
) $(INSTALL_DIR
)/system32
/*.
*
781 $(RM
) $(INSTALL_DIR
)/symbols
/*.
*
782 $(RM
) $(INSTALL_DIR
)/media
/fonts
/*.
*
783 $(RM
) $(INSTALL_DIR
)/media
/*.
*
784 $(RM
) $(INSTALL_DIR
)/bin
/*.
*
785 $(RM
) $(INSTALL_DIR
)/*.com
786 $(RM
) $(INSTALL_DIR
)/*.bat
787 $(RMDIR
) $(INSTALL_DIR
)/system32
/drivers
788 $(RMDIR
) $(INSTALL_DIR
)/system32
/config
789 $(RMDIR
) $(INSTALL_DIR
)/system32
790 $(RMDIR
) $(INSTALL_DIR
)/symbols
791 $(RMDIR
) $(INSTALL_DIR
)/media
/fonts
792 $(RMDIR
) $(INSTALL_DIR
)/media
793 $(RMDIR
) $(INSTALL_DIR
)/bin
794 $(RMDIR
) $(INSTALL_DIR
)
797 $(RMKDIR
) $(INSTALL_DIR
)
798 $(RMKDIR
) $(INSTALL_DIR
)/bin
799 $(RMKDIR
) $(INSTALL_DIR
)/media
800 $(RMKDIR
) $(INSTALL_DIR
)/media
/fonts
801 $(RMKDIR
) $(INSTALL_DIR
)/symbols
802 $(RMKDIR
) $(INSTALL_DIR
)/system32
803 $(RMKDIR
) $(INSTALL_DIR
)/system32
/config
804 $(RMKDIR
) $(INSTALL_DIR
)/system32
/drivers
807 $(CP
) bootc.lst
$(INSTALL_DIR
)/bootc.lst
808 $(CP
) boot.bat
$(INSTALL_DIR
)/boot.bat
809 $(CP
) aboot.bat
$(INSTALL_DIR
)/aboot.bat
810 $(CP
) media
/fonts
$(INSTALL_DIR
)/media
/fonts
811 $(CP
) media
/nls
$(INSTALL_DIR
)/system32
812 $(CP
) media
/nls
/c_1252.nls
$(INSTALL_DIR
)/system32
/ansi.nls
813 $(CP
) media
/nls
/c_437.nls
$(INSTALL_DIR
)/system32
/oem.nls
814 $(CP
) media
/nls
/l_intl.nls
$(INSTALL_DIR
)/system32
/casemap.nls
816 .PHONY
: install_clean install_dirs install_before
820 find .
-name
"*.[ch]" -print | etags
--language
=c
-
824 echo generating ReactOS NTOSKRNL documentation ...
825 $(MAKE
) -C ntoskrnl docu
827 echo generating ReactOS drivers documentation ...
828 $(MAKE
) -C drivers docu
830 echo generating ReactOS NTDLL documentation ...
831 $(MAKE
) -C lib
/ntdll docu
833 echo generating ReactOS Freetype documentation ...
834 $(MAKE
) -C lib
/freetype docu
836 echo generating ReactOS libs documentation ...
839 echo generating ReactOS WIN32K documentation ...
840 $(MAKE
) -C subsys
/win32k docu
842 echo generating ReactOS apps
+tools documentation ...
845 echo generating ReactOS explorer documentation ...
846 $(MAKE
) -C subsys
/system
/explorer full-docu
848 echo generating remaining ReactOS documentation ...