Files
reactos/reactos/makefile_rex
T
Rex Jolliff ace5da2d0d Added a clean rule
svn path=/trunk/; revision=239
1999-02-16 07:48:03 +00:00

118 lines
1.8 KiB
Plaintext

#
# Global makefile
#
#
# Select your host
#
#HOST = djgpp-linux
#HOST = mingw32-linux
HOST = djgpp-msdos
#HOST = mingw32-windows
include rules.mak
#
# Required to run the system
#
LIBRARIES = kernel32 ntdll crtdll mingw32
COMPONENTS = iface_native ntoskrnl $(LIBRARIES)
.PHONY: $(COMPONENTS) $(COMPONENTS:%=%_clean)
#
# Select the server(s) you want to build
#
SERVERS = win32 posix linux os2
.PHONY: $(SERVERS) $(SERVERS:%=%_clean)
#
# Select the loader(s) you want to build
#
LOADERS = dos
.PHONY: $(LOADERS) $(LOADERS:%=%_clean)
#
# Select the device drivers and filesystems you want
#
DD_SERVICES = blue ide keyboard mouse null parallel sdisk serial sound test
FS_SERVICES = minix vfat ext2
KERNEL_SERVICES = $(DD_SERVICES) $(FS_SERVICES)
.PHONY: $(KERNEL_SERVICES) $(KERNEL_SERVICES:%=%_clean)
APPS = hello shell # args
.PHONY: $(APPS:%=%) $(APPS:%=%_clean)
all: $(COMPONENTS) $(LOADERS) $(KERNEL_SERVICES) $(APPS)
.PHONY: all
clean: $(COMPONENTS:%=%_clean) $(LOADERS:%=%_clean) \
$(KERNEL_SERVICES:%=%_clean) $(APPS:%=%_clean)
.PHONY: clean
#
# Applications
#
$(APPS): %:
make -C apps/$*
$(APPS:%=%_clean): %_clean:
make -C apps/$* clean
#
# Interfaces
#
iface_native:
make -C iface/native
iface_native_clean:
make -C iface/native clean
#
# Device driver rules
#
$(DD_SERVICES): %:
make -C services/dd/$*
$(DD_SERVICES:%=%_clean): %_clean:
make -C services/dd/$* clean
$(FS_SERVICES): %:
make -C services/fs/$*
$(FS_SERVICES:%=%_clean): %_clean:
make -C services/fs/$* clean
#
# Kernel loaders
#
$(LOADERS): %:
make -C loaders/$*
$(LOADERS:%=%_clean): %_clean:
make -C loaders/$* clean
#
# Libraries
#
$(LIBRARIES): %:
make -C lib/$*
$(LIBRARIES:%=%_clean): %_clean:
make -C lib/$* clean
#
# Required system components
#
ntoskrnl:
make -C ntoskrnl
ntoskrnl_clean:
make -C ntoskrnl clean