hos/kernel/Makefile
josh fb807847bf fixed SUBDIRS_clean definition in Makefile
git-svn-id: svn://anubis/hos/trunk@21 5b3e749e-e535-0410-8002-a9bb6afbdfca
2009-06-29 13:40:33 +00:00

50 lines
1.1 KiB
Makefile

export PLATFORM := $(shell if [[ `uname` =~ "CYGWIN" ]]; then \
echo cygwin; \
else \
echo unix; \
fi)
ifeq ($(PLATFORM), cygwin)
export LD := i586-elf-ld
export CC := i586-elf-gcc
export CXX := i586-elf-g++
else
export LD := ld
export CC := gcc
export CXX := g++
endif
export NASM := nasm
WD := $(shell pwd)
export HOS_TOPLEVEL := $(WD)
LDSCRIPT := link.ld
KERNEL := hos
export CPPFLAGS := -I$(WD)/include
export CFLAGS := -Wall -O2
export CXXFLAGS := -Wall -O2
export LDFLAGS := -T $(LDSCRIPT)
SUBDIRS := boot
SUBDIRS_clean := $(SUBDIRS:%=%.clean)
.PHONY: all
all: $(KERNEL).gz
$(KERNEL).gz: $(KERNEL)
gzip -c $< > $@
$(KERNEL): $(SUBDIRS)
$(LD) $(LDFLAGS) -o $@ $(foreach subdir,$(SUBDIRS),$(subdir)/$(subdir).o)
.PHONY: $(SUBDIRS)
$(SUBDIRS):
$(MAKE) -C $@
.PHONY: clean
clean: $(SUBDIRS_clean)
-rm -f *~ $(KERNEL) $(KERNEL).gz
%.clean:
$(MAKE) -C $* clean clean=1