Files
mckernel/arch/x86_64/kboot/Makefile
2017-10-18 09:20:52 +09:00

28 lines
620 B
Makefile

DEST=$(O)/kboot
OBJS=$(DEST)/main.o $(DEST)/data.o
CFLAGS=-mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mcmodel=large
$(if $(O),,$(error Specify the target directory))
$(DEST)/kboot.elf: $(DEST) $(DEST)/kernel.lds $(OBJS)
@$(LD) $(LDFLAGS) -o $@ -T $(DEST)/kernel.lds -nostdlib $(OBJS)
$(DEST)/%.o: %.c
@$(CC) $(CFLAGS) -c -o $@ -O3 $<
$(DEST)/data.o: data.S
@$(CC) -c -o $@ -O3 -DKIMAGE='"$(KIMAGE)"' $^
$(DEST)/kernel.lds: kernel.lds.S
$(if $(LOAD_PA),,$(error Specify the loading physical address))
@$(CC) -E -P -DLOAD_PA=$(LOAD_PA) -o $@ $<
$(DEST):
@mkdir -p $(DEST)
clean:
@$(RM) $(DEST)/*
.PHONY: clean