diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2021-08-25 23:47:08 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2021-08-25 23:47:08 +0300 |
| commit | 5dfac4879ce5f34503ae7537eefd3fc48d6fa750 (patch) | |
| tree | 7ac25f1a14373ae08ea6aa2406d8f83026dba74a /Makefile | |
| parent | b235f49f31d11e68019c42f48b6641c37e4c986e (diff) | |
| download | kmi-5dfac4879ce5f34503ae7537eefd3fc48d6fa750.tar.gz kmi-5dfac4879ce5f34503ae7537eefd3fc48d6fa750.zip | |
libfdt seems to work
At least as far as reading memory info, cool.
One issue I have is that .(ro)data is apparently accessed by absolute
addresses, so I need to know at which address the kernel is going to be
loaded. I would prefer completely position independent code, but if
that's not possible then eh.
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -1,6 +1,6 @@ DO != echo > deps.mk -CFLAGS = -fno-pie -ggdb3 -ffreestanding -nostdlib +CFLAGS = -fno-pie -ggdb3 -ffreestanding -nostdlib -std=c11 -Wall -Wextra -mcmodel=medany DEPFLAGS = -MT $@ -MMD -MP -MF $@.d all: apos.bin @@ -23,9 +23,11 @@ CLEANUP_CMD := include arch/$(ARCH)/source.mk -INCLUDE_FLAGS := -Iinclude -Iarch/$(ARCH)/include $(USE_FDT:y=-Idtc/libfdt) +INCLUDE_FLAGS := -I include -I arch/$(ARCH)/include\ + -include config.h -include arch/$(ARCH)/config.h COMPILE = $(CROSS_COMPILE)$(CC) $(CFLAGS) $(DEPFLAGS) $(INCLUDE_FLAGS) +GENELF = $(CROSS_COMPILE)$(CC) $(CFLAGS) $(INCLUDE_FLAGS) GENLINK = $(CROSS_COMPILE)$(CPP) $(DEPFLAGS) $(INCLUDE_FLAGS) STRIPLINK = sed -n '/^[^\#]/p' @@ -45,10 +47,10 @@ apos.bin: kernel.elf init.elf cat init.bin kernel.bin > $@ kernel.elf: $(KERNEL_OBJECTS) $(KERNEL_LD) - $(COMPILE) -T$(KERNEL_LD) $(KERNEL_OBJECTS) -o $@ + $(GENELF) -T $(KERNEL_LD) $(KERNEL_OBJECTS) -o $@ init.elf: $(INIT_OBJECTS) $(INIT_LD) - $(COMPILE) -T$(INIT_LD) $(INIT_OBJECTS) -o $@ + $(GENELF) -T $(INIT_LD) $(INIT_OBJECTS) -o $@ clean: $(CLEANUP_CMD) |
