Replace direct calls to "make" with $(MAKE)
[reactos.git] / reactos / Makefile
1 #
2 # Global makefile
3 #
4
5 PATH_TO_TOP = .
6
7 #
8 # Define to build ReactOS external targets
9 #
10 ifeq ($(ROS_BUILD_EXT),)
11 ROS_BUILD_EXT = no
12 else
13 ROS_BUILD_EXT = yes
14 endif
15
16 include $(PATH_TO_TOP)/rules.mak
17
18 # Required to run the system
19 COMPONENTS = iface_native iface_additional hallib ntoskrnl
20
21 # Hardware Abstraction Layers
22 # halx86
23 HALS = halx86
24
25 # Bus drivers
26 # acpi isapnp pci
27 BUS = acpi isapnp pci
28
29 # User mode libraries
30 # advapi32 crtdll fmifs gdi32 kernel32 libpcap packet msafd msvcrt ntdll ole32
31 # oleaut32 psapi rpcrt4 secur32 shell32 user32 version ws2help ws2_32 wsock32 wshirda
32 DLLS = advapi32 crtdll fmifs gdi32 kernel32 packet msafd msvcrt ntdll \
33 secur32 user32 version winedbgc ws2help ws2_32 wshirda #winmm
34
35 SUBSYS = smss win32k csrss ntvdm
36
37 #
38 # Select the server(s) you want to build
39 #
40 #SERVERS = posix linux os2
41 SERVERS = win32
42
43 # Boot loaders
44 # dos
45 LOADERS = dos
46
47 # Driver support libraries
48 #bzip2 zlib
49 DRIVERS_LIB = bzip2 zlib
50
51 # Kernel mode device drivers
52 # Obsolete: ide
53 # beep blue floppy null parallel ramdrv serenum serial vga videoprt
54 DEVICE_DRIVERS = beep blue floppy null serial vga videoprt
55
56 # Kernel mode input drivers
57 # keyboard mouclass psaux sermouse
58 INPUT_DRIVERS = keyboard mouclass psaux
59
60 # Kernel mode file system drivers
61 # cdfs ext2 fs_rec ms np vfat
62 FS_DRIVERS = cdfs fs_rec ms np vfat mup ntfs
63
64 # Kernel mode networking drivers
65 # afd ndis npf tcpip tdi wshtcpip
66 NET_DRIVERS = afd ndis npf tcpip tdi wshtcpip
67
68 # Kernel mode networking device drivers
69 # ne2000
70 NET_DEVICE_DRIVERS = ne2000
71
72 # Kernel mode storage drivers
73 # atapi cdrom class2 disk scsiport
74 STORAGE_DRIVERS = atapi cdrom class2 disk scsiport
75
76 # System applications
77 # autochk lsass services shell winlogon
78 SYS_APPS = autochk services shell winlogon gstart usetup
79
80 # System services
81 # rpcss eventlog
82 SYS_SVC = rpcss eventlog
83
84 APPS = tests testsets utils
85
86
87 # External (sub)systems for ReactOS
88 # rosapps wine posix os2 (requires c++) java (non-existant)
89 EXTERNALS = rosapps wine posix os2
90
91 ifeq ($(ROS_BUILD_EXT),yes)
92 EXT_MODULES = $(EXTERNALS)
93 else
94 EXT_MODULES =
95 endif
96
97 KERNEL_DRIVERS = $(DRIVERS_LIB) $(DEVICE_DRIVERS) $(INPUT_DRIVERS) $(FS_DRIVERS) \
98 $(NET_DRIVERS) $(NET_DEVICE_DRIVERS) $(STORAGE_DRIVERS)
99
100 all: tools dk implib $(COMPONENTS) $(HALS) $(BUS) $(DLLS) $(SUBSYS) \
101 $(LOADERS) $(KERNEL_DRIVERS) $(SYS_APPS) $(SYS_SVC) \
102 $(APPS) $(EXT_MODULES)
103
104 #config: $(TOOLS:%=%_config)
105
106 depends: $(DLLS:%=%_depends) $(SUBSYS:%=%_depends) $(SYS_SVC:%=%_depends) \
107 $(EXT_MODULES:%=%_depends) $(POSIX_LIBS:%=%_depends)
108
109 implib: $(COMPONENTS:%=%_implib) $(HALS:%=%_implib) $(BUS:%=%_implib) \
110 $(DLLS:%=%_implib) $(LOADERS:%=%_implib) \
111 $(KERNEL_DRIVERS:%=%_implib) $(SUBSYS:%=%_implib) \
112 $(SYS_APPS:%=%_implib) $(SYS_SVC:%=%_implib) \
113 $(APPS:%=%_implib) $(EXT_MODULES:%=%_implib)
114
115 clean: tools dk_clean $(HALS:%=%_clean) \
116 $(COMPONENTS:%=%_clean) $(BUS:%=%_clean) $(DLLS:%=%_clean) \
117 $(LOADERS:%=%_clean) $(KERNEL_DRIVERS:%=%_clean) $(SUBSYS:%=%_clean) \
118 $(SYS_APPS:%=%_clean) $(SYS_SVC:%=%_clean) \
119 $(NET_APPS:%=%_clean) \
120 $(APPS:%=%_clean) $(EXT_MODULES:%=%_clean) \
121 clean_after tools_clean
122
123 clean_after:
124 $(RM) $(PATH_TO_TOP)/include/roscfg.h
125
126 install: tools install_dirs install_before \
127 $(COMPONENTS:%=%_install) $(HALS:%=%_install) $(BUS:%=%_install) \
128 $(DLLS:%=%_install) $(LOADERS:%=%_install) \
129 $(KERNEL_DRIVERS:%=%_install) $(SUBSYS:%=%_install) \
130 $(SYS_APPS:%=%_install) $(SYS_SVC:%=%_install) \
131 $(APPS:%=%_install) $(EXT_MODULES:%=%_install)
132
133 dist: $(TOOLS_PATH)/rcopy$(EXE_POSTFIX) dist_clean dist_dirs \
134 $(HALS:%=%_dist) $(COMPONENTS:%=%_dist) $(BUS:%=%_dist) $(DLLS:%=%_dist) \
135 $(LOADERS:%=%_dist) $(KERNEL_DRIVERS:%=%_dist) $(SUBSYS:%=%_dist) \
136 $(SYS_APPS:%=%_dist) $(SYS_SVC:%=%_dist) \
137 $(NET_APPS:%=%_dist) \
138 $(APPS:%=%_dist) $(EXT_MODULES:%=%_dist)
139
140 .PHONY: all depends implib clean clean_before install dist
141
142
143 #
144 # System Applications
145 #
146 $(SYS_APPS): %:
147 $(MAKE) -C subsys/system/$*
148
149 $(SYS_APPS:%=%_implib): %_implib:
150 $(MAKE) -C subsys/system/$* implib
151
152 $(SYS_APPS:%=%_clean): %_clean:
153 $(MAKE) -C subsys/system/$* clean
154
155 $(SYS_APPS:%=%_dist): %_dist:
156 $(MAKE) -C subsys/system/$* dist
157
158 $(SYS_APPS:%=%_install): %_install:
159 $(MAKE) -C subsys/system/$* install
160
161 .PHONY: $(SYS_APPS) $(SYS_APPS:%=%_implib) $(SYS_APPS:%=%_clean) $(SYS_APPS:%=%_install) $(SYS_APPS:%=%_dist)
162
163 #
164 # System Services
165 #
166 $(SYS_SVC): %:
167 $(MAKE) -C services/$*
168
169 $(SYS_SVC:%=%_depends): %_depends:
170 $(MAKE) -C services/$* depends
171
172 $(SYS_SVC:%=%_implib): %_implib:
173 $(MAKE) -C services/$* implib
174
175 $(SYS_SVC:%=%_clean): %_clean:
176 $(MAKE) -C services/$* clean
177
178 $(SYS_SVC:%=%_dist): %_dist:
179 $(MAKE) -C services/$* dist
180
181 $(SYS_SVC:%=%_install): %_install:
182 $(MAKE) -C services/$* install
183
184 .PHONY: $(SYS_SVC) $(SYS_SVC:%=%_depends) $(SYS_SVC:%=%_implib) $(SYS_SVC:%=%_clean) $(SYS_SVC:%=%_install) $(SYS_SVC:%=%_dist)
185
186
187 #
188 # Applications
189 #
190 #
191 # Extra (optional system) Applications
192 #
193 $(APPS): %:
194 $(MAKE) -C apps/$*
195
196 $(APPS:%=%_implib): %_implib:
197 $(MAKE) -C apps/$* implib
198
199 $(APPS:%=%_clean): %_clean:
200 $(MAKE) -C apps/$* clean
201
202 $(APPS:%=%_dist): %_dist:
203 $(MAKE) -C apps/$* dist
204
205 $(APPS:%=%_install): %_install:
206 $(MAKE) -C apps/$* install
207
208 .PHONY: $(APPS) $(APPS:%=%_implib) $(APPS:%=%_clean) $(APPS:%=%_install) $(APPS:%=%_dist)
209
210
211 #
212 # External ports and subsystem personalities
213 #
214 $(EXTERNALS): %:
215 $(MAKE) -C $(ROOT_PATH)/$*
216
217 $(EXTERNALS:%=%_depends): %_depends:
218 $(MAKE) -C $(ROOT_PATH)/$* depends
219
220 $(EXTERNALS:%=%_implib): %_implib:
221 $(MAKE) -C $(ROOT_PATH)/$* implib
222
223 $(EXTERNALS:%=%_clean): %_clean:
224 $(MAKE) -C $(ROOT_PATH)/$* clean
225
226 $(EXTERNALS:%=%_dist): %_dist:
227 $(MAKE) -C $(ROOT_PATH)/$* dist
228
229 $(EXTERNALS:%=%_install): %_install:
230 $(MAKE) -C $(ROOT_PATH)/$* install
231
232 .PHONY: $(EXTERNALS) $(EXTERNALS:%=%_depends) $(EXTERNALS:%=%_implib) $(EXTERNALS:%=%_clean) $(EXTERNALS:%=%_install) $(EXTERNALS:%=%_dist)
233
234
235 #
236 # Tools
237 #
238 tools:
239 $(MAKE) -C tools
240
241 tools_implib:
242
243 tools_clean:
244 $(MAKE) -C tools clean
245
246 tools_install:
247
248 tools_dist:
249
250 .PHONY: tools tools_implib tools_clean tools_install tools_dist
251
252
253 #
254 # Developer Kits
255 #
256 dk:
257 $(RMKDIR) $(DK_PATH)
258 $(RMKDIR) $(DDK_PATH)
259 $(RMKDIR) $(DDK_PATH_LIB)
260 $(RMKDIR) $(DDK_PATH_INC)
261 $(RMKDIR) $(SDK_PATH)
262 $(RMKDIR) $(SDK_PATH_LIB)
263 $(RMKDIR) $(SDK_PATH_INC)
264 $(RMKDIR) $(XDK_PATH)
265 $(RMKDIR) $(XDK_PATH_LIB)
266 $(RMKDIR) $(XDK_PATH_INC)
267
268 dk_implib:
269
270 # WARNING! Be very sure that there are no important files
271 # in these directories before cleaning them!!!
272 dk_clean:
273 $(RM) $(DDK_PATH_LIB)/*.a
274 # $(RM) $(DDK_PATH_INC)/*.h
275 $(RMDIR) $(DDK_PATH_LIB)
276 # $(RMDIR) $(DDK_PATH_INC)
277 $(RM) $(SDK_PATH_LIB)/*.a
278 # $(RM) $(SDK_PATH_INC)/*.h
279 $(RMDIR) $(SDK_PATH_LIB)
280 # $(RMDIR) $(SDK_PATH_INC)
281 $(RM) $(XDK_PATH_LIB)/*.a
282 # $(RM) $(XDK_PATH_INC)/*.h
283 $(RMDIR) $(XDK_PATH_LIB)
284 # $(RMDIR) $(XDK_PATH_INC)
285
286 dk_install:
287
288 dk_dist:
289
290 .PHONY: dk dk_implib dk_clean dk_install dk_dist
291
292
293 #
294 # Interfaces
295 #
296 iface_native:
297 $(MAKE) -C iface/native
298
299 iface_native_implib:
300
301 iface_native_clean:
302 $(MAKE) -C iface/native clean
303
304 iface_native_install:
305
306 iface_native_dist:
307
308 iface_additional:
309 $(MAKE) -C iface/addsys
310
311 iface_additional_implib:
312
313 iface_additional_clean:
314 $(MAKE) -C iface/addsys clean
315
316 iface_additional_install:
317
318 iface_additional_dist:
319
320 .PHONY: iface_native iface_native_implib iface_native_clean iface_native_install \
321 iface_native_dist \
322 iface_additional iface_additional_implib iface_additional_clean \
323 iface_additional_install iface_additional_dist
324
325 #
326 # Bus driver rules
327 #
328 $(BUS): %:
329 $(MAKE) -C drivers/bus/$*
330
331 $(BUS:%=%_implib): %_implib:
332 $(MAKE) -C drivers/bus/$* implib
333
334 $(BUS:%=%_clean): %_clean:
335 $(MAKE) -C drivers/bus/$* clean
336
337 $(BUS:%=%_install): %_install:
338 $(MAKE) -C drivers/bus/$* install
339
340 $(BUS:%=%_dist): %_dist:
341 $(MAKE) -C drivers/bus/$* dist
342
343 .PHONY: $(BUS) $(BUS:%=%_implib) $(BUS:%=%_clean) \
344 $(BUS:%=%_install) $(BUS:%=%_dist)
345
346 #
347 # Driver support libraries rules
348 #
349 $(DRIVERS_LIB): %:
350 $(MAKE) -C drivers/lib/$*
351
352 $(DRIVERS_LIB:%=%_implib): %_implib:
353 $(MAKE) -C drivers/lib/$* implib
354
355 $(DRIVERS_LIB:%=%_clean): %_clean:
356 $(MAKE) -C drivers/lib/$* clean
357
358 $(DRIVERS_LIB:%=%_install): %_install:
359 $(MAKE) -C drivers/lib/$* install
360
361 $(DRIVERS_LIB:%=%_dist): %_dist:
362 $(MAKE) -C drivers/lib/$* dist
363
364 .PHONY: $(DRIVERS_LIB) $(DRIVERS_LIB:%=%_implib) $(DRIVERS_LIB:%=%_clean) \
365 $(DRIVERS_LIB:%=%_install) $(DRIVERS_LIB:%=%_dist)
366
367 #
368 # Device driver rules
369 #
370 $(DEVICE_DRIVERS): %:
371 $(MAKE) -C drivers/dd/$*
372
373 $(DEVICE_DRIVERS:%=%_implib): %_implib:
374 $(MAKE) -C drivers/dd/$* implib
375
376 $(DEVICE_DRIVERS:%=%_clean): %_clean:
377 $(MAKE) -C drivers/dd/$* clean
378
379 $(DEVICE_DRIVERS:%=%_install): %_install:
380 $(MAKE) -C drivers/dd/$* install
381
382 $(DEVICE_DRIVERS:%=%_dist): %_dist:
383 $(MAKE) -C drivers/dd/$* dist
384
385 .PHONY: $(DEVICE_DRIVERS) $(DEVICE_DRIVERS:%=%_implib) $(DEVICE_DRIVERS:%=%_clean) \
386 $(DEVICE_DRIVERS:%=%_install) $(DEVICE_DRIVERS:%=%_dist)
387
388 #
389 # Input driver rules
390 #
391 $(INPUT_DRIVERS): %:
392 $(MAKE) -C drivers/input/$*
393
394 $(INPUT_DRIVERS:%=%_implib): %_implib:
395 $(MAKE) -C drivers/input/$* implib
396
397 $(INPUT_DRIVERS:%=%_clean): %_clean:
398 $(MAKE) -C drivers/input/$* clean
399
400 $(INPUT_DRIVERS:%=%_install): %_install:
401 $(MAKE) -C drivers/input/$* install
402
403 $(INPUT_DRIVERS:%=%_dist): %_dist:
404 $(MAKE) -C drivers/input/$* dist
405
406 .PHONY: $(INPUT_DRIVERS) $(INPUT_DRIVERS:%=%_implib) $(INPUT_DRIVERS:%=%_clean)\
407 $(INPUT_DRIVERS:%=%_install) $(INPUT_DRIVERS:%=%_dist)
408
409 $(FS_DRIVERS): %:
410 $(MAKE) -C drivers/fs/$*
411
412 $(FS_DRIVERS:%=%_implib): %_implib:
413 $(MAKE) -C drivers/fs/$* implib
414
415 $(FS_DRIVERS:%=%_clean): %_clean:
416 $(MAKE) -C drivers/fs/$* clean
417
418 $(FS_DRIVERS:%=%_install): %_install:
419 $(MAKE) -C drivers/fs/$* install
420
421 $(FS_DRIVERS:%=%_dist): %_dist:
422 $(MAKE) -C drivers/fs/$* dist
423
424 .PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_implib) $(FS_DRIVERS:%=%_clean) \
425 $(FS_DRIVERS:%=%_install) $(FS_DRIVERS:%=%_dist)
426
427 #
428 # Network driver rules
429 #
430 $(NET_DRIVERS): %:
431 $(MAKE) -C drivers/net/$*
432
433 $(NET_DRIVERS:%=%_implib): %_implib:
434 $(MAKE) -C drivers/net/$* implib
435
436 $(NET_DRIVERS:%=%_clean): %_clean:
437 $(MAKE) -C drivers/net/$* clean
438
439 $(NET_DRIVERS:%=%_install): %_install:
440 $(MAKE) -C drivers/net/$* install
441
442 $(NET_DRIVERS:%=%_dist): %_dist:
443 $(MAKE) -C drivers/net/$* dist
444
445 .PHONY: $(NET_DRIVERS) $(NET_DRIVERS:%=%_implib) $(NET_DRIVERS:%=%_clean) \
446 $(NET_DRIVERS:%=%_install) $(NET_DRIVERS:%=%_dist)
447
448 $(NET_DEVICE_DRIVERS): %:
449 $(MAKE) -C drivers/net/dd/$*
450
451 $(NET_DEVICE_DRIVERS:%=%_implib): %_implib:
452 $(MAKE) -C drivers/net/dd/$* implib
453
454 $(NET_DEVICE_DRIVERS:%=%_clean): %_clean:
455 $(MAKE) -C drivers/net/dd/$* clean
456
457 $(NET_DEVICE_DRIVERS:%=%_install): %_install:
458 $(MAKE) -C drivers/net/dd/$* install
459
460 $(NET_DEVICE_DRIVERS:%=%_dist): %_dist:
461 $(MAKE) -C drivers/net/dd/$* dist
462
463 .PHONY: $(NET_DEVICE_DRIVERS) $(NET_DEVICE_DRIVERS:%=%_clean) $(NET_DEVICE_DRIVERS:%=%_implib) \
464 $(NET_DEVICE_DRIVERS:%=%_install) $(NET_DEVICE_DRIVERS:%=%_dist)
465
466 #
467 # storage driver rules
468 #
469 $(STORAGE_DRIVERS): %:
470 $(MAKE) -C drivers/storage/$*
471
472 $(STORAGE_DRIVERS:%=%_implib): %_implib:
473 $(MAKE) -C drivers/storage/$* implib
474
475 $(STORAGE_DRIVERS:%=%_clean): %_clean:
476 $(MAKE) -C drivers/storage/$* clean
477
478 $(STORAGE_DRIVERS:%=%_install): %_install:
479 $(MAKE) -C drivers/storage/$* install
480
481 $(STORAGE_DRIVERS:%=%_dist): %_dist:
482 $(MAKE) -C drivers/storage/$* dist
483
484 .PHONY: $(STORAGE_DRIVERS) $(STORAGE_DRIVERS:%=%_clean) \
485 $(STORAGE_DRIVERS:%=%_install) $(STORAGE_DRIVERS:%=%_dist)
486
487 #
488 # Kernel loaders
489 #
490
491 $(LOADERS): %:
492 $(MAKE) -C loaders/$*
493
494 $(LOADERS:%=%_implib): %_implib:
495
496 $(LOADERS:%=%_clean): %_clean:
497 $(MAKE) -C loaders/$* clean
498
499 $(LOADERS:%=%_install): %_install:
500 $(MAKE) -C loaders/$* install
501
502 $(LOADERS:%=%_dist): %_dist:
503 $(MAKE) -C loaders/$* dist
504
505 .PHONY: $(LOADERS) $(LOADERS:%=%_implib) $(LOADERS:%=%_clean) $(LOADERS:%=%_install) \
506 $(LOADERS:%=%_dist)
507
508 #
509 # Required system components
510 #
511
512 ntoskrnl:
513 $(MAKE) -C ntoskrnl
514
515 ntoskrnl_implib:
516 $(MAKE) -C ntoskrnl implib
517
518 ntoskrnl_clean:
519 $(MAKE) -C ntoskrnl clean
520
521 ntoskrnl_install:
522 $(MAKE) -C ntoskrnl install
523
524 ntoskrnl_dist:
525 $(MAKE) -C ntoskrnl dist
526
527 .PHONY: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_dist
528
529 #
530 # Hardware Abstraction Layer import library
531 #
532
533 hallib:
534 $(MAKE) -C hal/hal
535
536 hallib_implib:
537 $(MAKE) -C hal/hal implib
538
539 hallib_clean:
540 $(MAKE) -C hal/hal clean
541
542 hallib_install:
543 $(MAKE) -C hal/hal install
544
545 hallib_dist:
546 $(MAKE) -C hal/hal dist
547
548 .PHONY: hallib hallib_implib hallib_clean hallib_install hallib_dist
549
550 #
551 # Hardware Abstraction Layers
552 #
553
554 $(HALS): %:
555 $(MAKE) -C hal/$*
556
557 $(HALS:%=%_implib): %_implib:
558 $(MAKE) -C hal/$* implib
559
560 $(HALS:%=%_clean): %_clean:
561 $(MAKE) -C hal/$* clean
562
563 $(HALS:%=%_install): %_install:
564 $(MAKE) -C hal/$* install
565
566 $(HALS:%=%_dist): %_dist:
567 $(MAKE) -C hal/$* dist
568
569 .PHONY: $(HALS) $(HALS:%=%_implib) $(HALS:%=%_clean) $(HALS:%=%_install) $(HALS:%=%_dist)
570
571 #
572 # Required DLLs
573 #
574
575 $(DLLS): %:
576 $(MAKE) -C lib/$*
577
578 $(DLLS:%=%_depends): %_depends:
579 $(MAKE) -C lib/$* depends
580
581 $(DLLS:%=%_implib): %_implib:
582 $(MAKE) -C lib/$* implib
583
584 $(DLLS:%=%_clean): %_clean:
585 $(MAKE) -C lib/$* clean
586
587 $(DLLS:%=%_install): %_install:
588 $(MAKE) -C lib/$* install
589
590 $(DLLS:%=%_dist): %_dist:
591 $(MAKE) -C lib/$* dist
592
593 .PHONY: $(DLLS) $(DLLS:%=%_depends) $(DLLS:%=%_implib) $(DLLS:%=%_clean) $(DLLS:%=%_install) $(DLLS:%=%_dist)
594
595 #
596 # Subsystem support modules
597 #
598
599 $(SUBSYS): %:
600 $(MAKE) -C subsys/$*
601
602 $(SUBSYS:%=%_depends): %_depends:
603 $(MAKE) -C subsys/$* depends
604
605 $(SUBSYS:%=%_implib): %_implib:
606 $(MAKE) -C subsys/$* implib
607
608 $(SUBSYS:%=%_clean): %_clean:
609 $(MAKE) -C subsys/$* clean
610
611 $(SUBSYS:%=%_install): %_install:
612 $(MAKE) -C subsys/$* install
613
614 $(SUBSYS:%=%_dist): %_dist:
615 $(MAKE) -C subsys/$* dist
616
617 .PHONY: $(SUBSYS) $(SUBSYS:%=%_depends) $(SUBSYS:%=%_implib) $(SUBSYS:%=%_clean) $(SUBSYS:%=%_install) \
618 $(SUBSYS:%=%_dist)
619
620 #
621 # Create an installation
622 #
623
624 install_clean:
625 $(RM) $(INSTALL_DIR)/system32/drivers/*.*
626 $(RM) $(INSTALL_DIR)/system32/config/*.*
627 $(RM) $(INSTALL_DIR)/system32/*.*
628 $(RM) $(INSTALL_DIR)/symbols/*.*
629 $(RM) $(INSTALL_DIR)/media/fonts/*.*
630 $(RM) $(INSTALL_DIR)/media/*.*
631 $(RM) $(INSTALL_DIR)/bin/*.*
632 $(RM) $(INSTALL_DIR)/*.com
633 $(RM) $(INSTALL_DIR)/*.bat
634 $(RMDIR) $(INSTALL_DIR)/system32/drivers
635 $(RMDIR) $(INSTALL_DIR)/system32/config
636 $(RMDIR) $(INSTALL_DIR)/system32
637 $(RMDIR) $(INSTALL_DIR)/symbols
638 $(RMDIR) $(INSTALL_DIR)/media/fonts
639 $(RMDIR) $(INSTALL_DIR)/media
640 $(RMDIR) $(INSTALL_DIR)/bin
641 $(RMDIR) $(INSTALL_DIR)
642
643 install_dirs:
644 $(RMKDIR) $(INSTALL_DIR)
645 $(RMKDIR) $(INSTALL_DIR)/bin
646 $(RMKDIR) $(INSTALL_DIR)/media
647 $(RMKDIR) $(INSTALL_DIR)/media/fonts
648 $(RMKDIR) $(INSTALL_DIR)/symbols
649 $(RMKDIR) $(INSTALL_DIR)/system32
650 $(RMKDIR) $(INSTALL_DIR)/system32/config
651 $(RMKDIR) $(INSTALL_DIR)/system32/drivers
652
653 install_before:
654 $(CP) bootc.lst $(INSTALL_DIR)/bootc.lst
655 $(CP) boot.bat $(INSTALL_DIR)/boot.bat
656 $(CP) aboot.bat $(INSTALL_DIR)/aboot.bat
657 $(CP) system.hiv $(INSTALL_DIR)/system32/config/system.hiv
658 $(CP) media/fonts/helb____.ttf $(INSTALL_DIR)/media/fonts/helb____.ttf
659 $(CP) media/fonts/timr____.ttf $(INSTALL_DIR)/media/fonts/timr____.ttf
660
661 .PHONY: install_clean install_dirs install_before
662
663
664 #
665 # Make a distribution saveset
666 #
667
668 dist_clean:
669 $(RM) $(DIST_DIR)/symbols/*.sym
670 $(RM) $(DIST_DIR)/drivers/*.sys
671 $(RM) $(DIST_DIR)/subsys/*.exe
672 $(RM) $(DIST_DIR)/dlls/*.dll
673 $(RM) $(DIST_DIR)/apps/*.exe
674 $(RM) $(DIST_DIR)/*.exe
675 $(RMDIR) $(DIST_DIR)/symbols
676 $(RMDIR) $(DIST_DIR)/subsys
677 $(RMDIR) $(DIST_DIR)/drivers
678 $(RMDIR) $(DIST_DIR)/dlls
679 $(RMDIR) $(DIST_DIR)/apps
680 $(RMDIR) $(DIST_DIR)
681
682 dist_dirs:
683 $(RMKDIR) $(DIST_DIR)
684 $(RMKDIR) $(DIST_DIR)/apps
685 $(RMKDIR) $(DIST_DIR)/dlls
686 $(RMKDIR) $(DIST_DIR)/drivers
687 $(RMKDIR) $(DIST_DIR)/subsys
688 $(RMKDIR) $(DIST_DIR)/symbols
689
690 .PHONY: dist_clean dist_dirs
691
692
693 etags:
694 find . -name "*.[ch]" -print | etags --language=c -
695
696 # EOF
697