view withGRUB2Kernel/Makefile @ 19:f8ef856d6691

two new test directory
author Taiki TAIRA <e095767@ie.u-ryukyu.ac.jp>
date Tue, 09 Oct 2012 17:35:53 +0900
parents e7ab5a0911d4
children
line wrap: on
line source

HOME		= /Users/taira
prefix		= $(HOME)/cross/COMMON_INSTALL/bin
CBC			= $(prefix)/elf-cbc-gcc-4.6.0
LD			= $(prefix)/x86_64-elf-ld

CBCFLAGS	= -ffreestanding \
			  -fno-common \
			  -fno-builtin \
			  -fomit-frame-pointer \
			  -nodefaultlibs \
			  -g \
			  -Wall \
			  -O2 \
			  -c \
			  -o

LDFLAGS64	= -melf_x86_64 \
			  -nostdlib \
			  -Ttext 0x100000 \
			  --oformat elf64-x86-64 \
			  -o 


LDFLAGS32	= -melf_i386 \
			  -nostdlib \
			  -Ttext 0x100000 \
			  --oformat elf32-i386 \
			  -o
LDFLAGS = $(LDFLAGS32)
BITFLAG = -m32

BOOT_DIR = boot
BOOT_SRCS = $(BOOT_DIR)/bootstrap.S 
BOOT_OBJ = $(BOOT_DIR)/bootstrap.o 

KERNEL_DIR = kernel
KERNEL_SRCS = $(KERNEL_DIR)/kernel.cbc
KERNEL_OBJ = $(KERNEL_DIR)/kernel.o

TARGET=cbc_os.elf

all: $(TARGET)

$(KERNEL_OBJ): $(KERNEL_SRCS)
	$(CBC) $(BITFLAG) $(CBCFLAGS) $@ $^ 

$(BOOT_OBJ): $(BOOT_SRCS)
	$(CBC) $(BITFLAG) $(CBCFLAGS) $@ $^

$(TARGET): $(KERNEL_OBJ) $(BOOT_OBJ)
	$(LD) $(LDFLAGS) $@ $^

clean:
	rm -rf **/*.o *.elf