X-Git-Url: http://git.jankratochvil.net/?a=blobdiff_plain;f=Makefile;h=45bdfe1791b62eec6958688df115fca1c99a3c46;hb=e3ed2d773259cc445c7ff8181ebd934931365328;hp=f640f2bb8140f547661995ec2e3b5fd76640dee0;hpb=d378c68f5a9bb25c9e671dacd482d2e25d211df3;p=reactos.git diff --git a/Makefile b/Makefile index f640f2b..45bdfe1 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 @@ -31,8 +30,9 @@ BUS = acpi isapnp pci # 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 + secur32 user32 version winedbgc ws2help ws2_32 wshirda #winmm + +SUBSYS = smss win32k csrss ntvdm # # Select the server(s) you want to build @@ -49,8 +49,9 @@ LOADERS = dos DRIVERS_LIB = bzip2 zlib # 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 vidport +DEVICE_DRIVERS = beep blue floppy null serial vga vidport # Kernel mode input drivers # keyboard mouclass psaux sermouse @@ -61,8 +62,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 @@ -80,66 +81,43 @@ SYS_APPS = autochk services shell winlogon gstart usetup # 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 +APPS = tests testsets utils -# mapi32 oleaut32 oledlg olepro32 olecli olesvr shfolder -# winmm ddraw dinput dplay serialui tapi32 urlmon wintrust -# msinfo lzexpand (missing imports) -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) + $(LOADERS) $(KERNEL_DRIVERS) $(SYS_APPS) $(SYS_SVC) \ + $(APPS) $(EXT_MODULES) + +#config: $(TOOLS:%=%_config) + +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) \ $(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) \ $(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: @@ -150,16 +128,16 @@ install: tools install_dirs install_before \ $(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) + $(SYS_APPS:%=%_dist) $(SYS_SVC:%=%_dist) \ + $(NET_APPS:%=%_dist) \ + $(APPS:%=%_dist) $(EXT_MODULES:%=%_dist) -.PHONY: all implib clean clean_before install dist +.PHONY: all depends implib clean clean_before install dist # @@ -188,6 +166,9 @@ $(SYS_APPS:%=%_install): %_install: $(SYS_SVC): %: make -C services/$* +$(SYS_SVC:%=%_depends): %_depends: + make -C services/$* depends + $(SYS_SVC:%=%_implib): %_implib: make -C services/$* implib @@ -200,133 +181,55 @@ $(SYS_SVC:%=%_dist): %_dist: $(SYS_SVC:%=%_install): %_install: make -C services/$* install -.PHONY: $(SYS_SVC) $(SYS_SVC:%=%_implib) $(SYS_SVC:%=%_clean) $(SYS_SVC:%=%_install) $(SYS_SVC:%=%_dist) - - -# -# Test 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) +.PHONY: $(SYS_SVC) $(SYS_SVC:%=%_depends) $(SYS_SVC:%=%_implib) $(SYS_SVC:%=%_clean) $(SYS_SVC:%=%_install) $(SYS_SVC:%=%_dist) # -# Other Wine Modules +# Applications # -$(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/$* - -$(WINE_DLLS:%=%_implib): %_implib: - make -f makefile.ros -C $(WINE_PATH)/dlls/$* implib - -$(WINE_DLLS:%=%_clean): %_clean: - make -f makefile.ros -C $(WINE_PATH)/dlls/$* clean - -$(WINE_DLLS:%=%_dist): %_dist: - make -f makefile.ros -C $(WINE_PATH)/dlls/$* dist - -$(WINE_DLLS:%=%_install): %_install: - make -f makefile.ros -C $(WINE_PATH)/dlls/$* install +$(EXTERNALS): %: + make -C $(ROOT_PATH)/$* -.PHONY: $(WINE_DLLS) $(WINE_DLLS:%=%_implib) $(WINE_DLLS:%=%_clean) $(WINE_DLLS:%=%_install) $(WINE_DLLS:%=%_dist) +$(EXTERNALS:%=%_depends): %_depends: + make -C $(ROOT_PATH)/$* depends +$(EXTERNALS:%=%_implib): %_implib: + make -C $(ROOT_PATH)/$* implib -# -# 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 +$(EXTERNALS:%=%_clean): %_clean: + make -C $(ROOT_PATH)/$* clean -$(WINE_PROGS:%=%_clean): %_clean: - make -f makefile.ros -C $(WINE_PATH)/programs/$* clean +$(EXTERNALS:%=%_dist): %_dist: + make -C $(ROOT_PATH)/$* dist -$(WINE_PROGS:%=%_dist): %_dist: - make -f makefile.ros -C $(WINE_PATH)/programs/$* dist +$(EXTERNALS:%=%_install): %_install: + make -C $(ROOT_PATH)/$* install -$(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) # @@ -672,6 +575,9 @@ $(HALS:%=%_dist): %_dist: $(DLLS): %: make -C lib/$* +$(DLLS:%=%_depends): %_depends: + make -C lib/$* depends + $(DLLS:%=%_implib): %_implib: make -C lib/$* implib @@ -684,7 +590,7 @@ $(DLLS:%=%_install): %_install: $(DLLS:%=%_dist): %_dist: make -C lib/$* dist -.PHONY: $(DLLS) $(DLLS:%=%_implib) $(DLLS:%=%_clean) $(DLLS:%=%_install) $(DLLS:%=%_dist) +.PHONY: $(DLLS) $(DLLS:%=%_depends) $(DLLS:%=%_implib) $(DLLS:%=%_clean) $(DLLS:%=%_install) $(DLLS:%=%_dist) # # Subsystem support modules @@ -693,6 +599,9 @@ $(DLLS:%=%_dist): %_dist: $(SUBSYS): %: make -C subsys/$* +$(SUBSYS:%=%_depends): %_depends: + make -C subsys/$* depends + $(SUBSYS:%=%_implib): %_implib: make -C subsys/$* implib @@ -705,7 +614,7 @@ $(SUBSYS:%=%_install): %_install: $(SUBSYS:%=%_dist): %_dist: make -C subsys/$* dist -.PHONY: $(SUBSYS) $(SUBSYS:%=%_implib) $(SUBSYS:%=%_clean) $(SUBSYS:%=%_install) \ +.PHONY: $(SUBSYS) $(SUBSYS:%=%_depends) $(SUBSYS:%=%_implib) $(SUBSYS:%=%_clean) $(SUBSYS:%=%_install) \ $(SUBSYS:%=%_dist) #