X-Git-Url: http://git.jankratochvil.net/?p=reactos.git;a=blobdiff_plain;f=Makefile;h=6a344420c66d1f74926f360bc73a0f68baedefc1;hp=f640f2bb8140f547661995ec2e3b5fd76640dee0;hb=e0f734ac7c51af60fef5d0a0639cf63c175f91e9;hpb=1334f77b1ecef00ac31076ce6bf22bdfeb82d347 diff --git a/Makefile b/Makefile index f640f2b..6a34442 100644 --- a/Makefile +++ b/Makefile @@ -5,12 +5,12 @@ PATH_TO_TOP = . # -# Define to build WINE modules +# Define to build ReactOS external targets # -ifeq ($(ROS_BUILD_WINE),) -ROS_BUILD_WINE = no +ifeq ($(ROS_BUILD_EXT),) +ROS_BUILD_EXT = no else -ROS_BUILD_WINE = yes +ROS_BUILD_EXT = yes endif include $(PATH_TO_TOP)/rules.mak @@ -18,7 +18,6 @@ include $(PATH_TO_TOP)/rules.mak # Required to run the system COMPONENTS = iface_native iface_additional hallib ntoskrnl - # Hardware Abstraction Layers # halx86 HALS = halx86 @@ -27,12 +26,18 @@ HALS = halx86 # acpi isapnp pci BUS = acpi isapnp pci -# User mode libraries +# Filesystem libraries +# vfatlib +LIB_FSLIB = vfatlib + +# User and kernel mode libraries # advapi32 crtdll fmifs gdi32 kernel32 libpcap packet msafd msvcrt ntdll ole32 -# oleaut32 psapi rpcrt4 secur32 shell32 user32 version ws2help ws2_32 wsock32 wshirda -DLLS = advapi32 crtdll fmifs gdi32 kernel32 packet msafd msvcrt ntdll \ - secur32 user32 version winmm ws2help ws2_32 wshirda -SUBSYS = smss win32k csrss +# oleaut32 epsapi psapi rpcrt4 secur32 shell32 user32 version ws2help ws2_32 wsock32 wshirda +DLLS = rosrtl advapi32 crtdll fmifs freetype gdi32 kernel32 packet msafd msvcrt ntdll \ + epsapi psapi secur32 user32 version winedbgc winspool ws2help ws2_32 wsock32 \ + wshirda zlib #winmm + +SUBSYS = smss win32k csrss ntvdm # # Select the server(s) you want to build @@ -46,11 +51,12 @@ LOADERS = dos # Driver support libraries #bzip2 zlib -DRIVERS_LIB = bzip2 zlib +DRIVERS_LIB = bzip2 # Kernel mode device drivers -# beep blue floppy ide keyboard mouse null parallel ramdrv serenum serial vga vidport -DEVICE_DRIVERS = beep blue floppy ide null serial vga vidport +# Obsolete: ide +# beep blue floppy null parallel ramdrv serenum serial vga videoprt +DEVICE_DRIVERS = beep blue floppy null serial vga videoprt # Kernel mode input drivers # keyboard mouclass psaux sermouse @@ -61,8 +67,8 @@ INPUT_DRIVERS = keyboard mouclass psaux FS_DRIVERS = cdfs fs_rec ms np vfat mup ntfs # Kernel mode networking drivers -# afd ndis packet tcpip tdi wshtcpip -NET_DRIVERS = afd ndis packet tcpip tdi wshtcpip +# afd ndis npf tcpip tdi wshtcpip +NET_DRIVERS = afd ndis npf tcpip tdi wshtcpip # Kernel mode networking device drivers # ne2000 @@ -73,73 +79,50 @@ NET_DEVICE_DRIVERS = ne2000 STORAGE_DRIVERS = atapi cdrom class2 disk scsiport # System applications -# autochk lsass services shell winlogon -SYS_APPS = autochk services shell winlogon gstart usetup +# autochk cmd services format gstart usetup winlogon +SYS_APPS = autochk cmd services format gstart usetup winlogon # System services # rpcss eventlog SYS_SVC = rpcss eventlog -# Test applications -# alive apc args atomtest bench consume count dump_shared_data -# event file gditest hello isotest lpc mstest mutex nptest -# pteb regtest sectest shm simple thread vmtest winhello -TEST_APPS = alive apc args atomtest bench consume count dump_shared_data \ - event file gditest hello isotest lpc mstest mutex nptest \ - pteb regtest sectest shm simple thread tokentest vmtest winhello dibtest - -# Test applications -# cabman cat net objdir partinfo pice ps stats -UTIL_APPS = cat objdir partinfo stats - -# -# Win32 Subsystem support (Based on WINE) -# FIXME: Move to this its own Makefile -# - -WINE_OTHER = unicode library - -WINE_TOOLS = bin2res wrc winebuild - -WINE_DLLS = comcat crtdll comctl32 commdlg dsound dplayx imagehlp ole32 richedit \ -shlwapi shell32 shdocvw twain urlmon winspool \ -rpcrt4 # needed to make rcprt4 implib - -# mapi32 oleaut32 oledlg olepro32 olecli olesvr shfolder -# winmm ddraw dinput dplay serialui tapi32 urlmon wintrust -# msinfo lzexpand (missing imports) +APPS = tests testsets utils -WINE_PROGS = control expand osversioncheck regedit regsvr32 winver uninstaller -# (waiting on wrc fix for the rest of these) -# clock cmdlgtst notepad progman wcmd -# winefile winemine winetest uninstaller +# External (sub)systems for ReactOS +# rosapps wine posix os2 (requires c++) java (non-existant) +EXTERNALS = rosapps wine posix os2 -ifeq ($(ROS_BUILD_WINE),yes) -WINE_MODULES = $(WINE_OTHER) $(WINE_TOOLS) $(WINE_DLLS) $(WINE_PROGS) +ifeq ($(ROS_BUILD_EXT),yes) +EXT_MODULES = $(EXTERNALS) else -WINE_MODULES = +EXT_MODULES = endif KERNEL_DRIVERS = $(DRIVERS_LIB) $(DEVICE_DRIVERS) $(INPUT_DRIVERS) $(FS_DRIVERS) \ $(NET_DRIVERS) $(NET_DEVICE_DRIVERS) $(STORAGE_DRIVERS) -all: tools dk implib $(COMPONENTS) $(HALS) $(BUS) $(DLLS) $(SUBSYS) \ - $(LOADERS) $(KERNEL_DRIVERS) $(SYS_APPS) $(SYS_SVC) $(TEST_APPS) \ - $(UTIL_APPS) $(WINE_MODULES) +all: tools dk implib $(COMPONENTS) $(HALS) $(BUS) $(LIB_FSLIB) $(DLLS) $(SUBSYS) \ + $(LOADERS) $(KERNEL_DRIVERS) $(SYS_APPS) $(SYS_SVC) \ + $(APPS) $(EXT_MODULES) + +#config: $(TOOLS:%=%_config) + +depends: $(LIB_FSLIB:%=%_depends) $(DLLS:%=%_depends) $(SUBSYS:%=%_depends) $(SYS_SVC:%=%_depends) \ + $(EXT_MODULES:%=%_depends) $(POSIX_LIBS:%=%_depends) implib: $(COMPONENTS:%=%_implib) $(HALS:%=%_implib) $(BUS:%=%_implib) \ - $(DLLS:%=%_implib) $(LOADERS:%=%_implib) \ + $(LIB_FSLIB:%=%_implib) $(DLLS:%=%_implib) $(LOADERS:%=%_implib) \ $(KERNEL_DRIVERS:%=%_implib) $(SUBSYS:%=%_implib) \ $(SYS_APPS:%=%_implib) $(SYS_SVC:%=%_implib) \ - $(TEST_APPS:%=%_implib) $(UTIL_APPS:%=%_implib) \ - $(WINE_MODULES:%=%_implib) + $(APPS:%=%_implib) $(EXT_MODULES:%=%_implib) clean: tools dk_clean $(HALS:%=%_clean) \ - $(COMPONENTS:%=%_clean) $(BUS:%=%_clean) $(DLLS:%=%_clean) \ + $(COMPONENTS:%=%_clean) $(BUS:%=%_clean) $(LIB_FSLIB:%=%_clean) $(DLLS:%=%_clean) \ $(LOADERS:%=%_clean) $(KERNEL_DRIVERS:%=%_clean) $(SUBSYS:%=%_clean) \ - $(SYS_APPS:%=%_clean) $(SYS_SVC:%=%_clean) $(TEST_APPS:%=%_clean) \ - $(UTIL_APPS:%=%_clean) $(NET_APPS:%=%_clean) $(WINE_MODULES:%=%_clean) \ + $(SYS_APPS:%=%_clean) $(SYS_SVC:%=%_clean) \ + $(NET_APPS:%=%_clean) \ + $(APPS:%=%_clean) $(EXT_MODULES:%=%_clean) \ clean_after tools_clean clean_after: @@ -147,198 +130,142 @@ clean_after: install: tools install_dirs install_before \ $(COMPONENTS:%=%_install) $(HALS:%=%_install) $(BUS:%=%_install) \ - $(DLLS:%=%_install) $(LOADERS:%=%_install) \ + $(LIB_FSLIB:%=%_install) $(DLLS:%=%_install) $(LOADERS:%=%_install) \ $(KERNEL_DRIVERS:%=%_install) $(SUBSYS:%=%_install) \ $(SYS_APPS:%=%_install) $(SYS_SVC:%=%_install) \ - $(TEST_APPS:%=%_install) $(UTIL_APPS:%=%_install) \ - $(WINE_MODULES:%=%_install) + $(APPS:%=%_install) $(EXT_MODULES:%=%_install) dist: $(TOOLS_PATH)/rcopy$(EXE_POSTFIX) dist_clean dist_dirs \ - $(HALS:%=%_dist) $(COMPONENTS:%=%_dist) $(BUS:%=%_dist) $(DLLS:%=%_dist) \ - $(LOADERS:%=%_dist) $(KERNEL_DRIVERS:%=%_dist) $(SUBSYS:%=%_dist) \ - $(SYS_APPS:%=%_dist) $(SYS_SVC:%=%_dist) $(TEST_APPS:%=%_dist) \ - $(UTIL_APPS:%=%_dist) $(NET_APPS:%=%_dist) $(WINE_MODULES:%=%_dist) + $(HALS:%=%_dist) $(COMPONENTS:%=%_dist) $(BUS:%=%_dist) $(LIB_FSLIB:%=%_dist) \ + $(DLLS:%=%_dist) $(LOADERS:%=%_dist) $(KERNEL_DRIVERS:%=%_dist) $(SUBSYS:%=%_dist) \ + $(SYS_APPS:%=%_dist) $(SYS_SVC:%=%_dist) \ + $(NET_APPS:%=%_dist) \ + $(APPS:%=%_dist) $(EXT_MODULES:%=%_dist) + +bootcd_directory_layout: + $(RMKDIR) $(BOOTCD_DIR) + $(RMKDIR) $(BOOTCD_DIR)/bootdisk + $(RMKDIR) $(BOOTCD_DIR)/install + $(RMKDIR) $(BOOTCD_DIR)/reactos + $(RMKDIR) $(BOOTCD_DIR)/reactos/system32 + $(RMKDIR) $(BOOTCD_DIR)/loader -.PHONY: all implib clean clean_before install dist +bootcd_bootstrap_files: $(COMPONENTS:%=%_bootcd) $(HALS:%=%_bootcd) $(BUS:%=%_bootcd) \ + $(LIB_FSLIB:%=%_bootcd) $(DLLS:%=%_bootcd) $(KERNEL_DRIVERS:%=%_bootcd) \ + $(SUBSYS:%=%_bootcd) $(SYS_APPS:%=%_bootcd) + +bootcd: all bootcd_directory_layout bootcd_bootstrap_files + $(MAKE) install INSTALL_DIR=$(BOOTCD_DIR)/install INSTALL_SYMBOLS=no BOOTCD_INSTALL=yes + +.PHONY: all depends implib clean clean_before install dist bootcd_directory_layout \ +bootcd_bootstrap_files bootcd # # System Applications # $(SYS_APPS): %: - make -C subsys/system/$* + $(MAKE) -C subsys/system/$* $(SYS_APPS:%=%_implib): %_implib: - make -C subsys/system/$* implib + $(MAKE) -C subsys/system/$* implib $(SYS_APPS:%=%_clean): %_clean: - make -C subsys/system/$* clean + $(MAKE) -C subsys/system/$* clean $(SYS_APPS:%=%_dist): %_dist: - make -C subsys/system/$* dist + $(MAKE) -C subsys/system/$* dist $(SYS_APPS:%=%_install): %_install: - make -C subsys/system/$* install + $(MAKE) -C subsys/system/$* install + +$(SYS_APPS:%=%_bootcd): %_bootcd: + $(MAKE) -C subsys/system/$* bootcd -.PHONY: $(SYS_APPS) $(SYS_APPS:%=%_implib) $(SYS_APPS:%=%_clean) $(SYS_APPS:%=%_install) $(SYS_APPS:%=%_dist) +.PHONY: $(SYS_APPS) $(SYS_APPS:%=%_implib) $(SYS_APPS:%=%_clean) $(SYS_APPS:%=%_install) $(SYS_APPS:%=%_dist) $(SYS_APPS:%=%_bootcd) # # System Services # $(SYS_SVC): %: - make -C services/$* + $(MAKE) -C services/$* + +$(SYS_SVC:%=%_depends): %_depends: + $(MAKE) -C services/$* depends $(SYS_SVC:%=%_implib): %_implib: - make -C services/$* implib + $(MAKE) -C services/$* implib $(SYS_SVC:%=%_clean): %_clean: - make -C services/$* clean + $(MAKE) -C services/$* clean $(SYS_SVC:%=%_dist): %_dist: - make -C services/$* dist + $(MAKE) -C services/$* dist $(SYS_SVC:%=%_install): %_install: - make -C services/$* install + $(MAKE) -C services/$* install -.PHONY: $(SYS_SVC) $(SYS_SVC:%=%_implib) $(SYS_SVC:%=%_clean) $(SYS_SVC:%=%_install) $(SYS_SVC:%=%_dist) +.PHONY: $(SYS_SVC) $(SYS_SVC:%=%_depends) $(SYS_SVC:%=%_implib) $(SYS_SVC:%=%_clean) $(SYS_SVC:%=%_install) $(SYS_SVC:%=%_dist) # -# Test Applications +# Applications # -$(TEST_APPS): %: - make -C apps/tests/$* - -$(TEST_APPS:%=%_implib): %_implib: - make -C apps/tests/$* implib - -$(TEST_APPS:%=%_clean): %_clean: - make -C apps/tests/$* clean - -$(TEST_APPS:%=%_dist): %_dist: - make -C apps/tests/$* dist - -$(TEST_APPS:%=%_install): %_install: - make -C apps/tests/$* install - -.PHONY: $(TEST_APPS) $(TEST_APPS:%=%_implib) $(TEST_APPS:%=%_clean) $(TEST_APPS:%=%_install) $(TEST_APPS:%=%_dist) - - -# -# Utility Applications -# -$(UTIL_APPS): %: - make -C apps/utils/$* - -$(UTIL_APPS:%=%_implib): %_implib: - make -C apps/utils/$* implib - -$(UTIL_APPS:%=%_clean): %_clean: - make -C apps/utils/$* clean - -$(UTIL_APPS:%=%_dist): %_dist: - make -C apps/utils/$* dist - -$(UTIL_APPS:%=%_install): %_install: - make -C apps/utils/$* install - -.PHONY: $(UTIL_APPS) $(UTIL_APPS:%=%_implib) $(UTIL_APPS:%=%_clean) $(UTIL_APPS:%=%_install) $(UTIL_APPS:%=%_dist) - - -# -# Other Wine Modules -# -$(WINE_OTHER): %: - make -f makefile.ros -C $(WINE_PATH)/$* - -$(WINE_OTHER:%=%_implib): %_implib: - make -f makefile.ros -C $(WINE_PATH)/$* implib - -$(WINE_OTHER:%=%_clean): %_clean: - make -f makefile.ros -C $(WINE_PATH)/$* clean - -$(WINE_OTHER:%=%_dist): %_dist: - make -f makefile.ros -C $(WINE_PATH)/$* dist - -$(WINE_OTHER:%=%_install): %_install: - make -f makefile.ros -C $(WINE_PATH)/$* install - -.PHONY: $(WINE_OTHER) $(WINE_OTHER:%=%_implib) $(WINE_OTHER:%=%_clean) $(WINE_OTHER:%=%_install) $(WINE_OTHER:%=%_dist) - - # -# Wine Tools +# Extra (optional system) Applications # -$(WINE_TOOLS): %: - make -f makefile.ros -C $(WINE_PATH)/tools/$* +$(APPS): %: + $(MAKE) -C apps/$* -$(WINE_TOOLS:%=%_implib): %_implib: - make -f makefile.ros -C $(WINE_PATH)/tools/$* implib +$(APPS:%=%_implib): %_implib: + $(MAKE) -C apps/$* implib -$(WINE_TOOLS:%=%_clean): %_clean: - make -f makefile.ros -C $(WINE_PATH)/tools/$* clean +$(APPS:%=%_clean): %_clean: + $(MAKE) -C apps/$* clean -$(WINE_TOOLS:%=%_dist): %_dist: - make -f makefile.ros -C $(WINE_PATH)/tools/$* dist +$(APPS:%=%_dist): %_dist: + $(MAKE) -C apps/$* dist -$(WINE_TOOLS:%=%_install): %_install: - make -f makefile.ros -C $(WINE_PATH)/tools/$* install +$(APPS:%=%_install): %_install: + $(MAKE) -C apps/$* install -.PHONY: $(WINE_DLLS) $(WINE_DLLS:%=%_implib) $(WINE_DLLS:%=%_clean) $(WINE_DLLS:%=%_install) $(WINE_DLLS:%=%_dist) +.PHONY: $(APPS) $(APPS:%=%_implib) $(APPS:%=%_clean) $(APPS:%=%_install) $(APPS:%=%_dist) # -# Wine DLLs +# External ports and subsystem personalities # -$(WINE_DLLS): %: - make -f makefile.ros -C $(WINE_PATH)/dlls/$* +$(EXTERNALS): %: + $(MAKE) -C $(ROOT_PATH)/$* -$(WINE_DLLS:%=%_implib): %_implib: - make -f makefile.ros -C $(WINE_PATH)/dlls/$* implib +$(EXTERNALS:%=%_depends): %_depends: + $(MAKE) -C $(ROOT_PATH)/$* depends -$(WINE_DLLS:%=%_clean): %_clean: - make -f makefile.ros -C $(WINE_PATH)/dlls/$* clean +$(EXTERNALS:%=%_implib): %_implib: + $(MAKE) -C $(ROOT_PATH)/$* implib -$(WINE_DLLS:%=%_dist): %_dist: - make -f makefile.ros -C $(WINE_PATH)/dlls/$* dist +$(EXTERNALS:%=%_clean): %_clean: + $(MAKE) -C $(ROOT_PATH)/$* clean -$(WINE_DLLS:%=%_install): %_install: - make -f makefile.ros -C $(WINE_PATH)/dlls/$* install +$(EXTERNALS:%=%_dist): %_dist: + $(MAKE) -C $(ROOT_PATH)/$* dist -.PHONY: $(WINE_DLLS) $(WINE_DLLS:%=%_implib) $(WINE_DLLS:%=%_clean) $(WINE_DLLS:%=%_install) $(WINE_DLLS:%=%_dist) +$(EXTERNALS:%=%_install): %_install: + $(MAKE) -C $(ROOT_PATH)/$* install - -# -# Wine programs -# -$(WINE_PROGS): %: - make -f makefile.ros -C $(WINE_PATH)/programs/$* - -$(WINE_PROGS:%=%_implib): %_implib: - make -f makefile.ros -C $(WINE_PATH)/programs/$* implib - -$(WINE_PROGS:%=%_clean): %_clean: - make -f makefile.ros -C $(WINE_PATH)/programs/$* clean - -$(WINE_PROGS:%=%_dist): %_dist: - make -f makefile.ros -C $(WINE_PATH)/programs/$* dist - -$(WINE_PROGS:%=%_install): %_install: - make -f makefile.ros -C $(WINE_PATH)/programs/$* install - -.PHONY: $(WINE_PROGS) $(WINE_PROGS:%=%_implib) $(WINE_PROGS:%=%_clean) $(WINE_PROGS:%=%_install) $(WINE_PROGS:%=%_dist) +.PHONY: $(EXTERNALS) $(EXTERNALS:%=%_depends) $(EXTERNALS:%=%_implib) $(EXTERNALS:%=%_clean) $(EXTERNALS:%=%_install) $(EXTERNALS:%=%_dist) # # Tools # tools: - make -C tools + $(MAKE) -C tools tools_implib: tools_clean: - make -C tools clean + $(MAKE) -C tools clean tools_install: @@ -391,213 +318,241 @@ dk_dist: # Interfaces # iface_native: - make -C iface/native + $(MAKE) -C iface/native iface_native_implib: iface_native_clean: - make -C iface/native clean + $(MAKE) -C iface/native clean iface_native_install: iface_native_dist: +iface_native_bootcd: + iface_additional: - make -C iface/addsys + $(MAKE) -C iface/addsys iface_additional_implib: iface_additional_clean: - make -C iface/addsys clean + $(MAKE) -C iface/addsys clean iface_additional_install: iface_additional_dist: +iface_additional_bootcd: + .PHONY: iface_native iface_native_implib iface_native_clean iface_native_install \ - iface_native_dist \ + iface_native_dist iface_native_bootcd \ iface_additional iface_additional_implib iface_additional_clean \ - iface_additional_install iface_additional_dist + iface_additional_install iface_additional_dist iface_additional_bootcd # # Bus driver rules # $(BUS): %: - make -C drivers/bus/$* + $(MAKE) -C drivers/bus/$* $(BUS:%=%_implib): %_implib: - make -C drivers/bus/$* implib + $(MAKE) -C drivers/bus/$* implib $(BUS:%=%_clean): %_clean: - make -C drivers/bus/$* clean + $(MAKE) -C drivers/bus/$* clean $(BUS:%=%_install): %_install: - make -C drivers/bus/$* install + $(MAKE) -C drivers/bus/$* install $(BUS:%=%_dist): %_dist: - make -C drivers/bus/$* dist + $(MAKE) -C drivers/bus/$* dist + +$(BUS:%=%_bootcd): %_bootcd: + $(MAKE) -C drivers/bus/$* bootcd .PHONY: $(BUS) $(BUS:%=%_implib) $(BUS:%=%_clean) \ - $(BUS:%=%_install) $(BUS:%=%_dist) + $(BUS:%=%_install) $(BUS:%=%_dist) $(BUS:%=%_bootcd) # # Driver support libraries rules # $(DRIVERS_LIB): %: - make -C drivers/lib/$* + $(MAKE) -C drivers/lib/$* $(DRIVERS_LIB:%=%_implib): %_implib: - make -C drivers/lib/$* implib + $(MAKE) -C drivers/lib/$* implib $(DRIVERS_LIB:%=%_clean): %_clean: - make -C drivers/lib/$* clean + $(MAKE) -C drivers/lib/$* clean $(DRIVERS_LIB:%=%_install): %_install: - make -C drivers/lib/$* install + $(MAKE) -C drivers/lib/$* install $(DRIVERS_LIB:%=%_dist): %_dist: - make -C drivers/lib/$* dist + $(MAKE) -C drivers/lib/$* dist + +$(DRIVERS_LIB:%=%_bootcd): %_bootcd: + $(MAKE) -C drivers/lib/$* bootcd .PHONY: $(DRIVERS_LIB) $(DRIVERS_LIB:%=%_implib) $(DRIVERS_LIB:%=%_clean) \ - $(DRIVERS_LIB:%=%_install) $(DRIVERS_LIB:%=%_dist) + $(DRIVERS_LIB:%=%_install) $(DRIVERS_LIB:%=%_dist) $(DRIVERS_LIB:%=%_bootcd) # # Device driver rules # $(DEVICE_DRIVERS): %: - make -C drivers/dd/$* + $(MAKE) -C drivers/dd/$* $(DEVICE_DRIVERS:%=%_implib): %_implib: - make -C drivers/dd/$* implib + $(MAKE) -C drivers/dd/$* implib $(DEVICE_DRIVERS:%=%_clean): %_clean: - make -C drivers/dd/$* clean + $(MAKE) -C drivers/dd/$* clean $(DEVICE_DRIVERS:%=%_install): %_install: - make -C drivers/dd/$* install + $(MAKE) -C drivers/dd/$* install $(DEVICE_DRIVERS:%=%_dist): %_dist: - make -C drivers/dd/$* dist + $(MAKE) -C drivers/dd/$* dist + +$(DEVICE_DRIVERS:%=%_bootcd): %_bootcd: + $(MAKE) -C drivers/dd/$* bootcd .PHONY: $(DEVICE_DRIVERS) $(DEVICE_DRIVERS:%=%_implib) $(DEVICE_DRIVERS:%=%_clean) \ - $(DEVICE_DRIVERS:%=%_install) $(DEVICE_DRIVERS:%=%_dist) + $(DEVICE_DRIVERS:%=%_install) $(DEVICE_DRIVERS:%=%_dist) $(DEVICE_DRIVERS:%=%_bootcd) # # Input driver rules # $(INPUT_DRIVERS): %: - make -C drivers/input/$* + $(MAKE) -C drivers/input/$* $(INPUT_DRIVERS:%=%_implib): %_implib: - make -C drivers/input/$* implib + $(MAKE) -C drivers/input/$* implib $(INPUT_DRIVERS:%=%_clean): %_clean: - make -C drivers/input/$* clean + $(MAKE) -C drivers/input/$* clean $(INPUT_DRIVERS:%=%_install): %_install: - make -C drivers/input/$* install + $(MAKE) -C drivers/input/$* install $(INPUT_DRIVERS:%=%_dist): %_dist: - make -C drivers/input/$* dist + $(MAKE) -C drivers/input/$* dist + +$(INPUT_DRIVERS:%=%_bootcd): %_bootcd: + $(MAKE) -C drivers/input/$* bootcd .PHONY: $(INPUT_DRIVERS) $(INPUT_DRIVERS:%=%_implib) $(INPUT_DRIVERS:%=%_clean)\ - $(INPUT_DRIVERS:%=%_install) $(INPUT_DRIVERS:%=%_dist) + $(INPUT_DRIVERS:%=%_install) $(INPUT_DRIVERS:%=%_dist) $(INPUT_DRIVERS:%=%_bootcd) $(FS_DRIVERS): %: - make -C drivers/fs/$* + $(MAKE) -C drivers/fs/$* $(FS_DRIVERS:%=%_implib): %_implib: - make -C drivers/fs/$* implib + $(MAKE) -C drivers/fs/$* implib $(FS_DRIVERS:%=%_clean): %_clean: - make -C drivers/fs/$* clean + $(MAKE) -C drivers/fs/$* clean $(FS_DRIVERS:%=%_install): %_install: - make -C drivers/fs/$* install + $(MAKE) -C drivers/fs/$* install $(FS_DRIVERS:%=%_dist): %_dist: - make -C drivers/fs/$* dist + $(MAKE) -C drivers/fs/$* dist + +$(FS_DRIVERS:%=%_bootcd): %_bootcd: + $(MAKE) -C drivers/fs/$* bootcd .PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_implib) $(FS_DRIVERS:%=%_clean) \ - $(FS_DRIVERS:%=%_install) $(FS_DRIVERS:%=%_dist) + $(FS_DRIVERS:%=%_install) $(FS_DRIVERS:%=%_dist) $(FS_DRIVERS:%=%_bootcd) # # Network driver rules # $(NET_DRIVERS): %: - make -C drivers/net/$* + $(MAKE) -C drivers/net/$* $(NET_DRIVERS:%=%_implib): %_implib: - make -C drivers/net/$* implib + $(MAKE) -C drivers/net/$* implib $(NET_DRIVERS:%=%_clean): %_clean: - make -C drivers/net/$* clean + $(MAKE) -C drivers/net/$* clean $(NET_DRIVERS:%=%_install): %_install: - make -C drivers/net/$* install + $(MAKE) -C drivers/net/$* install $(NET_DRIVERS:%=%_dist): %_dist: - make -C drivers/net/$* dist + $(MAKE) -C drivers/net/$* dist + +$(NET_DRIVERS:%=%_bootcd): %_bootcd: + $(MAKE) -C drivers/net/$* bootcd .PHONY: $(NET_DRIVERS) $(NET_DRIVERS:%=%_implib) $(NET_DRIVERS:%=%_clean) \ - $(NET_DRIVERS:%=%_install) $(NET_DRIVERS:%=%_dist) + $(NET_DRIVERS:%=%_install) $(NET_DRIVERS:%=%_dist) $(NET_DRIVERS:%=%_bootcd) $(NET_DEVICE_DRIVERS): %: - make -C drivers/net/dd/$* + $(MAKE) -C drivers/net/dd/$* $(NET_DEVICE_DRIVERS:%=%_implib): %_implib: - make -C drivers/net/dd/$* implib + $(MAKE) -C drivers/net/dd/$* implib $(NET_DEVICE_DRIVERS:%=%_clean): %_clean: - make -C drivers/net/dd/$* clean + $(MAKE) -C drivers/net/dd/$* clean $(NET_DEVICE_DRIVERS:%=%_install): %_install: - make -C drivers/net/dd/$* install + $(MAKE) -C drivers/net/dd/$* install $(NET_DEVICE_DRIVERS:%=%_dist): %_dist: - make -C drivers/net/dd/$* dist + $(MAKE) -C drivers/net/dd/$* dist + +$(NET_DEVICE_DRIVERS:%=%_bootcd): %_bootcd: + $(MAKE) -C drivers/net/dd/$* bootcd .PHONY: $(NET_DEVICE_DRIVERS) $(NET_DEVICE_DRIVERS:%=%_clean) $(NET_DEVICE_DRIVERS:%=%_implib) \ - $(NET_DEVICE_DRIVERS:%=%_install) $(NET_DEVICE_DRIVERS:%=%_dist) + $(NET_DEVICE_DRIVERS:%=%_install) $(NET_DEVICE_DRIVERS:%=%_dist) $(NET_DEVICE_DRIVERS:%=%_bootcd) # # storage driver rules # $(STORAGE_DRIVERS): %: - make -C drivers/storage/$* + $(MAKE) -C drivers/storage/$* $(STORAGE_DRIVERS:%=%_implib): %_implib: - make -C drivers/storage/$* implib + $(MAKE) -C drivers/storage/$* implib $(STORAGE_DRIVERS:%=%_clean): %_clean: - make -C drivers/storage/$* clean + $(MAKE) -C drivers/storage/$* clean $(STORAGE_DRIVERS:%=%_install): %_install: - make -C drivers/storage/$* install + $(MAKE) -C drivers/storage/$* install $(STORAGE_DRIVERS:%=%_dist): %_dist: - make -C drivers/storage/$* dist + $(MAKE) -C drivers/storage/$* dist -.PHONY: $(STORAGE_DRIVERS) $(STORAGE_DRIVERS:%=%_clean) \ - $(STORAGE_DRIVERS:%=%_install) $(STORAGE_DRIVERS:%=%_dist) +$(STORAGE_DRIVERS:%=%_bootcd): %_bootcd: + $(MAKE) -C drivers/storage/$* bootcd + +.PHONY: $(STORAGE_DRIVERS) $(STORAGE_DRIVERS:%=%_clean) $(STORAGE_DRIVERS:%=%_implib) \ + $(STORAGE_DRIVERS:%=%_install) $(STORAGE_DRIVERS:%=%_dist) $(STORAGE_DRIVERS:%=%_bootcd) # # Kernel loaders # $(LOADERS): %: - make -C loaders/$* + $(MAKE) -C loaders/$* $(LOADERS:%=%_implib): %_implib: $(LOADERS:%=%_clean): %_clean: - make -C loaders/$* clean + $(MAKE) -C loaders/$* clean $(LOADERS:%=%_install): %_install: - make -C loaders/$* install + $(MAKE) -C loaders/$* install $(LOADERS:%=%_dist): %_dist: - make -C loaders/$* dist + $(MAKE) -C loaders/$* dist .PHONY: $(LOADERS) $(LOADERS:%=%_implib) $(LOADERS:%=%_clean) $(LOADERS:%=%_install) \ $(LOADERS:%=%_dist) @@ -607,106 +562,155 @@ $(LOADERS:%=%_dist): %_dist: # ntoskrnl: - make -C ntoskrnl + $(MAKE) -C ntoskrnl ntoskrnl_implib: - make -C ntoskrnl implib + $(MAKE) -C ntoskrnl implib ntoskrnl_clean: - make -C ntoskrnl clean + $(MAKE) -C ntoskrnl clean ntoskrnl_install: - make -C ntoskrnl install + $(MAKE) -C ntoskrnl install ntoskrnl_dist: - make -C ntoskrnl dist + $(MAKE) -C ntoskrnl dist + +ntoskrnl_bootcd: + $(MAKE) -C ntoskrnl bootcd -.PHONY: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_dist +.PHONY: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_dist ntoskrnl_bootcd # # Hardware Abstraction Layer import library # hallib: - make -C hal/hal + $(MAKE) -C hal/hal hallib_implib: - make -C hal/hal implib + $(MAKE) -C hal/hal implib hallib_clean: - make -C hal/hal clean + $(MAKE) -C hal/hal clean hallib_install: - make -C hal/hal install + $(MAKE) -C hal/hal install hallib_dist: - make -C hal/hal dist + $(MAKE) -C hal/hal dist + +hallib_bootcd: + $(MAKE) -C hal/hal bootcd -.PHONY: hallib hallib_implib hallib_clean hallib_install hallib_dist +.PHONY: hallib hallib_implib hallib_clean hallib_install hallib_dist hallib_bootcd # # Hardware Abstraction Layers # $(HALS): %: - make -C hal/$* + $(MAKE) -C hal/$* $(HALS:%=%_implib): %_implib: - make -C hal/$* implib + $(MAKE) -C hal/$* implib $(HALS:%=%_clean): %_clean: - make -C hal/$* clean + $(MAKE) -C hal/$* clean $(HALS:%=%_install): %_install: - make -C hal/$* install + $(MAKE) -C hal/$* install $(HALS:%=%_dist): %_dist: - make -C hal/$* dist + $(MAKE) -C hal/$* dist -.PHONY: $(HALS) $(HALS:%=%_implib) $(HALS:%=%_clean) $(HALS:%=%_install) $(HALS:%=%_dist) +$(HALS:%=%_bootcd): %_bootcd: + $(MAKE) -C hal/$* bootcd + +.PHONY: $(HALS) $(HALS:%=%_implib) $(HALS:%=%_clean) $(HALS:%=%_install) $(HALS:%=%_dist) $(HALS:%=%_bootcd) + +# +# File system libraries +# + +$(LIB_FSLIB): %: + $(MAKE) -C lib/fslib/$* + +$(LIB_FSLIB:%=%_depends): %_depends: + $(MAKE) -C lib/fslib/$* depends + +$(LIB_FSLIB:%=%_implib): %_implib: + $(MAKE) -C lib/fslib/$* implib + +$(LIB_FSLIB:%=%_clean): %_clean: + $(MAKE) -C lib/fslib/$* clean + +$(LIB_FSLIB:%=%_install): %_install: + $(MAKE) -C lib/fslib/$* install + +$(LIB_FSLIB:%=%_dist): %_dist: + $(MAKE) -C lib/fslib/$* dist + +$(LIB_FSLIB:%=%_bootcd): %_bootcd: + $(MAKE) -C lib/fslib/$* bootcd + +.PHONY: $(LIB_FSLIB) $(LIB_FSLIB:%=%_depends) $(LIB_FSLIB:%=%_implib) $(LIB_FSLIB:%=%_clean) \ +$(LIB_FSLIB:%=%_install) $(LIB_FSLIB:%=%_dist) $(LIB_FSLIB:%=%_bootcd) # # Required DLLs # $(DLLS): %: - make -C lib/$* + $(MAKE) -C lib/$* + +$(DLLS:%=%_depends): %_depends: + $(MAKE) -C lib/$* depends $(DLLS:%=%_implib): %_implib: - make -C lib/$* implib + $(MAKE) -C lib/$* implib $(DLLS:%=%_clean): %_clean: - make -C lib/$* clean + $(MAKE) -C lib/$* clean $(DLLS:%=%_install): %_install: - make -C lib/$* install + $(MAKE) -C lib/$* install $(DLLS:%=%_dist): %_dist: - make -C lib/$* dist + $(MAKE) -C lib/$* dist -.PHONY: $(DLLS) $(DLLS:%=%_implib) $(DLLS:%=%_clean) $(DLLS:%=%_install) $(DLLS:%=%_dist) +$(DLLS:%=%_bootcd): %_bootcd: + $(MAKE) -C lib/$* bootcd + +.PHONY: $(DLLS) $(DLLS:%=%_depends) $(DLLS:%=%_implib) $(DLLS:%=%_clean) $(DLLS:%=%_install) $(DLLS:%=%_dist) $(DLLS:%=%_bootcd) # # Subsystem support modules # $(SUBSYS): %: - make -C subsys/$* + $(MAKE) -C subsys/$* + +$(SUBSYS:%=%_depends): %_depends: + $(MAKE) -C subsys/$* depends $(SUBSYS:%=%_implib): %_implib: - make -C subsys/$* implib + $(MAKE) -C subsys/$* implib $(SUBSYS:%=%_clean): %_clean: - make -C subsys/$* clean + $(MAKE) -C subsys/$* clean $(SUBSYS:%=%_install): %_install: - make -C subsys/$* install + $(MAKE) -C subsys/$* install $(SUBSYS:%=%_dist): %_dist: - make -C subsys/$* dist + $(MAKE) -C subsys/$* dist + +$(SUBSYS:%=%_bootcd): %_bootcd: + $(MAKE) -C subsys/$* bootcd -.PHONY: $(SUBSYS) $(SUBSYS:%=%_implib) $(SUBSYS:%=%_clean) $(SUBSYS:%=%_install) \ - $(SUBSYS:%=%_dist) +.PHONY: $(SUBSYS) $(SUBSYS:%=%_depends) $(SUBSYS:%=%_implib) $(SUBSYS:%=%_clean) $(SUBSYS:%=%_install) \ + $(SUBSYS:%=%_dist) $(SUBSYS:%=%_bootcd) # # Create an installation @@ -731,6 +735,25 @@ install_clean: $(RMDIR) $(INSTALL_DIR)/bin $(RMDIR) $(INSTALL_DIR) +ifneq ($(BOOTCD_INSTALL),) + +install_dirs: + $(RMKDIR) $(INSTALL_DIR) + +install_before: + #$(CP) bootdata/autorun.inf $(INSTALL_DIR)/../autorun.inf + $(CP) bootdata/readme.txt $(INSTALL_DIR)/../readme.txt + $(RLINE) bootdata/hivecls.inf $(INSTALL_DIR)/hivecls.inf + $(RLINE) bootdata/hivedef.inf $(INSTALL_DIR)/hivedef.inf + $(RLINE) bootdata/hivesft.inf $(INSTALL_DIR)/hivesft.inf + $(RLINE) bootdata/hivesys.inf $(INSTALL_DIR)/hivesys.inf + $(RLINE) bootdata/txtsetup.sif $(INSTALL_DIR)/txtsetup.sif + $(CP) system.hiv $(INSTALL_DIR)/system.hiv + $(CP) media/fonts/helb____.ttf $(INSTALL_DIR)/helb____.ttf + $(CP) media/fonts/timr____.ttf $(INSTALL_DIR)/timr____.ttf + +else # BOOTCD_INSTALL + install_dirs: $(RMKDIR) $(INSTALL_DIR) $(RMKDIR) $(INSTALL_DIR)/bin @@ -749,6 +772,8 @@ install_before: $(CP) media/fonts/helb____.ttf $(INSTALL_DIR)/media/fonts/helb____.ttf $(CP) media/fonts/timr____.ttf $(INSTALL_DIR)/media/fonts/timr____.ttf +endif # BOOTCD_INSTALL + .PHONY: install_clean install_dirs install_before