display debug message on boot.
[reactos.git] / reactos / makefile.dos
1 #
2 # Global makefile
3 #
4
5 #
6 # Select your host
7 #
8 #HOST = mingw32-linux
9 #HOST = djgpp-msdos
10 HOST = mingw32-windows
11
12 include rules.mak
13
14 #
15 # Required to run the system
16 #
17 COMPONENTS = iface_native ntoskrnl
18 #DLLS = ntdll kernel32 crtdll user32 fmifs gdi32
19 DLLS = ntdll kernel32 crtdll fmifs gdi32
20 #DLLS = crtdll mingw32
21 SUBSYS = win32k
22
23 #
24 # Select the server(s) you want to build
25 #
26 SERVERS = win32
27 # SERVERS = posix linux os2
28
29 #
30 # Select the loader(s) you want to build
31 #
32 LOADERS = dos
33 # LOADERS = boot
34
35 #
36 # Select the device drivers and filesystems you want
37 #
38 DEVICE_DRIVERS = blue ide keyboard mouse null parallel serial vidport
39 # DEVICE_DRIVERS = beep event floppy ide_test sound test test1
40 FS_DRIVERS = vfat
41 # FS_DRIVERS = minix ext2 template
42 KERNEL_SERVICES = $(DEVICE_DRIVERS) $(FS_DRIVERS)
43
44 APPS = args hello shell test cat bench
45 # APPS = cmd
46
47 all: $(COMPONENTS) $(DLLS) $(SUBSYS) $(LOADERS) $(KERNEL_SERVICES) $(APPS)
48 .PHONY: all
49
50 clean: $(COMPONENTS:%=%_clean) $(DLLS:%=%_clean) $(LOADERS:%=%_clean) \
51 $(KERNEL_SERVICES:%=%_clean) $(APPS:%=%_clean)
52 .PHONY: clean
53
54 #
55 # Applications
56 #
57 $(APPS): %:
58 make -C apps/$*
59
60 $(APPS:%=%_clean): %_clean:
61 make -C apps/$* clean
62
63 .PHONY: $(APPS) $(APPS:%=%_clean)
64
65 #
66 # Interfaces
67 #
68 iface_native:
69 make -C iface/native
70
71 iface_native_clean:
72 make -C iface/native clean
73
74 .PHONY: iface_native iface_native_clean
75
76 #
77 # Device driver rules
78 #
79 $(DEVICE_DRIVERS): %:
80 make -C services/dd/$*
81
82 $(DEVICE_DRIVERS:%=%_clean): %_clean:
83 make -C services/dd/$* clean
84
85 .PHONY: $(DEVICE_DRIVERS) $(DEVICE_DRIVERS:%=%_clean)
86
87 $(FS_DRIVERS): %:
88 make -C services/fs/$*
89
90 $(FS_DRIVERS:%=%_clean): %_clean:
91 make -C services/fs/$* clean
92
93 .PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_clean)
94
95 #
96 # Kernel loaders
97 #
98
99 $(LOADERS): %:
100 make -C loaders/$*
101
102 $(LOADERS:%=%_clean): %_clean:
103 make -C loaders/$* clean
104
105 .PHONY: $(LOADERS) $(LOADERS:%=%_clean)
106
107 #
108 # Required system components
109 #
110
111 ntoskrnl:
112 make -C ntoskrnl
113
114 ntoskrnl_clean:
115 make -C ntoskrnl clean
116
117 .PHONY: ntoskrnl ntoskrnl_clean
118
119 #
120 # Required DLLs
121 #
122
123 $(DLLS): %:
124 make -C lib/$*
125
126 $(DLLS:%=%_clean): %_clean:
127 make -C lib/$* clean
128
129 .PHONY: $(DLLS) $(DLLS:%=%_clean)
130
131 #
132 # Kernel Subsystems
133 #
134 $(SUBSYS): %:
135 make -C subsys/$*
136
137 $(SUBSYS:%=%_clean): %_clean:
138 make -C lib/$* clean
139
140 .PHONY: $(SUBSYS) $(SUBSYS:%=%_clean)
141
142