# HG changeset patch # User Taiki TAIRA # Date 1343901566 -32400 # Node ID ee6e0a17b8941544a7a71f4158e5bfe92753f6cc # Parent be1123717c147c06e09b86924ec650a3444d485f conbine main kernel source. diff -r be1123717c14 -r ee6e0a17b894 Makefile --- a/Makefile Fri Jul 27 21:06:56 2012 +0900 +++ b/Makefile Thu Aug 02 18:59:26 2012 +0900 @@ -1,12 +1,49 @@ -include ./Makefile.def +HOME = /Users/TaikiTAIRA +prefix = $(HOME)/cross/COMMON_INSTALL/bin +CBC = $(prefix)/elf-cbc-gcc-4.6.0 +LD = $(prefix)/x86_64-elf-ld -default: app +CBCFLAGS = -m32 \ + -ffreestanding \ + -fno-common \ + -fno-builtin \ + -fomit-frame-pointer \ + -Wall \ + -O2 \ + -c \ + -o + +LDFLAGS = -m elf_i386 \ + -nostdlib \ + -Ttext=0x100000 \ + --oformat elf32-i386 \ + -o + +TARGET=cbc_os.elf -os: - @$(MAKE) -f Makefile.os +all: $(TARGET) + +kernel_end.o: kernel_end.cbc + $(CBC) $(CBCFLAGS) $@ $^ + +kernel_main.o: kernel_main.cbc + $(CBC) $(CBCFLAGS) $@ $^ + +init.o: init.cbc + $(CBC) $(CBCFLAGS) $@ $^ -app: - @$(MAKE) -f Makefile.app +start.o: start.cbc + $(CBC) $(CBCFLAGS) $@ $^ + +kernel_start.o: kernel_start.cbc kernel_main.o + $(CBC) $(CBCFLAGS) $@ $^ + +bootstrap.o: bootstrap.S + $(CBC) $(CBCFLAGS) $@ $^ + +$(TARGET): bootstrap.o start.o + $(LD) $(LDFLAGS) $@ $^ + clean: - rm -rf *.o kernel kernel.elf + @rm -rf *.o *.elf