CeDOS - kernel/makefile

kernel/makefile (view raw)

.RECIPEPREFIX = >

S_OBJECTS = $(patsubst %.s,build/%.s.o,$(wildcard *.s))
C_OBJECTS = $(patsubst %.c,build/%.c.o,$(wildcard *.c))
OBJECTS = $(S_OBJECTS) $(C_OBJECTS)

.PHONY: build
build: $(OBJECTS)
> $(GCC_PREFIX)ld $^ -r -T link.txt -o $(BUILD_DIR)/kernel.o --oformat elf32-i386

.PHONY: clear
clear:
> @rm build/*.* 2> /dev/null; true

.PHONY: rebuild
rebuild:
> $(MAKE) clear
> $(MAKE) build

build/%.s.o: %.s
> $(GCC_PREFIX)as -o $@ $<

build/%.c.o: %.c $(wildcard *.h)
> $(GCC_PREFIX)gcc -c -I$(INCLUDE_DIR) --prefix=$(GCC_PREFIX) $(GCC_OPTIONS) -o $@ $<