Full memory management support (memory.c & memory.h & mem.S)
[reactos.git] / reactos / makefile.dos
index 8aa3350..2c9e3e1 100644 (file)
@@ -5,46 +5,49 @@
 #
 # Select your host
 #
-#HOST = djgpp-linux
 #HOST = mingw32-linux
 #HOST = djgpp-msdos
 HOST = mingw32-windows
 
-ifeq ($(HOST),mingw32-windows)
-TOPDIR := /TEMP/M32/REACTOS
-endif
-
 include rules.mak
 
 #
 # Required to run the system
 #
-COMPONENTS = iface_native ntoskrnl ntdll kernel32
-# crtdll mingw32
+COMPONENTS = iface_native ntoskrnl
+#DLLS = ntdll kernel32 crtdll user32 fmifs gdi32
+DLLS = ntdll kernel32 crtdll fmifs gdi32
+#DLLS = crtdll mingw32
+SUBSYS = win32k
 
 #
 # Select the server(s) you want to build
 #
-SERVERS = win32 posix linux os2
+SERVERS = win32
+# SERVERS = posix linux os2
 
 #
 # Select the loader(s) you want to build
 #
 LOADERS = dos
+# LOADERS = boot
 
 #
 # Select the device drivers and filesystems you want
 #
-KERNEL_SERVICES = blue parallel keyboard null mouse serial sound ide test sdisk \
-                 minix vfat
-
-#  cmd
-APPS = hello shell cmd
+DEVICE_DRIVERS = blue ide keyboard mouse null parallel serial vidport
+# DEVICE_DRIVERS = beep event floppy ide_test sound test test1
+FS_DRIVERS = vfat
+# FS_DRIVERS = minix ext2 template
+KERNEL_SERVICES = $(DEVICE_DRIVERS) $(FS_DRIVERS)
+                 
+APPS = args hello shell test cat bench
+# APPS = cmd
 
-all: $(COMPONENTS) $(LOADERS) $(KERNEL_SERVICES) $(APPS)
+all: $(COMPONENTS) $(DLLS) $(SUBSYS) $(LOADERS) $(KERNEL_SERVICES) $(APPS)
 .PHONY: all
 
-clean: $(COMPONENTS:%=%_clean) $(LOADERS:%=%_clean) \
+clean: $(COMPONENTS:%=%_clean) $(DLLS:%=%_clean) $(LOADERS:%=%_clean) \
        $(KERNEL_SERVICES:%=%_clean) $(APPS:%=%_clean)
 .PHONY: clean
 
@@ -57,7 +60,7 @@ $(APPS): %:
 $(APPS:%=%_clean): %_clean:
        make -C apps/$* clean
 
-.PHONY: $(APPS:%=%) $(APPS:%=%_clean)
+.PHONY: $(APPS) $(APPS:%=%_clean)
 
 #
 # Interfaces
@@ -73,75 +76,67 @@ iface_native_clean:
 #
 # Device driver rules
 #
-vfat: dummy
-       make -C services/fs/vfat
-
-sdisk: dummy
-       make -C services/dd/sdisk
+$(DEVICE_DRIVERS): %:
+       make -C services/dd/$*
 
-minix: dummy
-       make -C services/fs/minix
+$(DEVICE_DRIVERS:%=%_clean): %_clean:
+       make -C services/dd/$* clean
 
-template: dummy
-       make -C services/fs/template
+.PHONY: $(DEVICE_DRIVERS) $(DEVICE_DRIVERS:%=%_clean)
 
-ide-test: dummy
-       make -C services/dd/ide-test
+$(FS_DRIVERS): %:
+       make -C services/fs/$*
 
-ide: dummy
-       make -C services/dd/ide
+$(FS_DRIVERS:%=%_clean): %_clean:
+       make -C services/fs/$* clean
 
-test: dummy
-       make -C services/dd/test
+.PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_clean)
 
-test1: dummy
-       make -C services/dd/test1
+#
+# Kernel loaders
+#
 
-null: dummy
-       make -C services/dd/null
+$(LOADERS): %:
+       make -C loaders/$*
 
-parallel: dummy
-       make -C services/dd/parallel
+$(LOADERS:%=%_clean): %_clean:
+       make -C loaders/$* clean
 
-keyboard: dummy
-       make -C services/dd/keyboard
+.PHONY: $(LOADERS) $(LOADERS:%=%_clean)
 
-blue: dummy
-       make -C services/dd/blue --file=makefile
+#
+# Required system components
+#
 
-mouse: dummy
-       make -C services/dd/mouse
+ntoskrnl:
+       make -C ntoskrnl
 
-serial: dummy
-       make -C services/dd/serial
+ntoskrnl_clean:
+       make -C ntoskrnl clean
 
-sound: dummy
-       make -C services/dd/sound
+.PHONY: ntoskrnl ntoskrnl_clean
 
 #
-# Kernel loaders
+# Required DLLs
 #
 
-dos: dummy
-       make -C loaders/dos
+$(DLLS): %:
+       make -C lib/$*
 
-#
-# Required system components
-#
+$(DLLS:%=%_clean): %_clean:
+       make -C lib/$* clean
 
-ntoskrnl: dummy
-       make -C ntoskrnl
+.PHONY: $(DLLS) $(DLLS:%=%_clean)
 
-kernel32: dummy
-       make -C lib/kernel32
+#
+# Kernel Subsystems
+#
+$(SUBSYS): %:
+       make -C subsys/$*
 
-ntdll: dummy
-       make -C lib/ntdll
+$(SUBSYS:%=%_clean): %_clean:
+       make -C lib/$* clean
 
-crtdll: dummy
-       make -C lib/crtdll
+.PHONY: $(SUBSYS) $(SUBSYS:%=%_clean)
 
-mingw32: dummy
-       make -C lib/mingw32
 
-dummy: