Cleaning up the kernel makefile
This commit is contained in:
parent
d7560b775c
commit
e016c5dc52
@ -6,24 +6,20 @@ CC := x86_64-elf-gcc
|
|||||||
|
|
||||||
SRC := $(wildcard **/*.[cS])
|
SRC := $(wildcard **/*.[cS])
|
||||||
OBJ := $(patsubst %, %.o, $(basename $(SRC)))
|
OBJ := $(patsubst %, %.o, $(basename $(SRC)))
|
||||||
DEP := $(OBJ:.o=.d)
|
|
||||||
|
|
||||||
CFLAGS ?= -Wall -Wextra
|
CFLAGS := -Wall -Wextra -pedantic -ffreestanding
|
||||||
CFLAGS += -ffreestanding -ggdb -O0
|
CFLAGS += -ggdb -O0
|
||||||
ASFLAGS += -ggdb
|
ASFLAGS += -ggdb
|
||||||
CPPFLAGS += -I include
|
CPPFLAGS += -I include
|
||||||
|
LDFLAGS := -n -nostdlib -lgcc -T Link.ld
|
||||||
|
|
||||||
all: kernel
|
|
||||||
|
|
||||||
kernel: LDFLAGS += -n -nostdlib -T Link.ld
|
|
||||||
kernel: $(OBJ)
|
kernel: $(OBJ)
|
||||||
$(LINK.c) $^ -o $@
|
$(LINK.c) $^ -o $@
|
||||||
|
|
||||||
|
|
||||||
|
DEP := $(OBJ:.o=.d)
|
||||||
DEPFLAGS = -MT $@ -MMD -MP -MF $*.d
|
DEPFLAGS = -MT $@ -MMD -MP -MF $*.d
|
||||||
%.o: %.c $.d
|
$(OBJ): CPPFLAGS += $(DEPFLAGS)
|
||||||
$(COMPILE.c) $(DEPFLAGS) -o $@ $<
|
|
||||||
%.o: %.S %.d
|
|
||||||
$(COMPILE.S) $(DEPFLAGS) -o $@ $<
|
|
||||||
%.d: ;
|
%.d: ;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user