diff options
author | dzwdz | 2022-07-23 18:20:06 +0200 |
---|---|---|
committer | dzwdz | 2022-07-23 18:20:06 +0200 |
commit | 3badc5ac30fcc0836a2604146788158b16b64f2d (patch) | |
tree | a05a6c7501119b779191414a2a6265382574732d /Makefile | |
parent | cd12cbc75564fafd9c2519cdf1085e651c9d7cfd (diff) |
init: compile as an elf
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -67,12 +67,19 @@ out/bootstrap: src/user_bootstrap/linker.ld $(call from_sources, src/user_bootst initrd/test.elf: out/test.elf @# dummy +initrd/init.elf: out/init.elf + @# dummy + out/test.elf: src/usertestelf.ld out/obj/usertestelf.c.o out/obj/user/lib/syscall.s.o $(call from_sources, src/shared/) @mkdir -p $(@D) @$(CC) $(LFLAGS) -Wl,-pie -Wl,-no-dynamic-linker -T $^ -o $@ +out/init.elf: src/user/linker.ld $(call from_sources, src/user/) $(call from_sources, src/shared/) + @mkdir -p $(@D) + @$(CC) $(LFLAGS) -Wl,-pie -Wl,-no-dynamic-linker -T $^ -o $@ + # TODO automatically resolve symlinks -out/initrd.tar: $(shell find initrd/) out/test.elf +out/initrd.tar: $(shell find initrd/) out/test.elf out/init.elf cd initrd; tar chf ../$@ * out/fs/boot/init: out/bootstrap out/initrd.tar @@ -95,6 +102,10 @@ out/obj/%.c.o: src/%.c @mkdir -p $(@D) @$(CC) $(CFLAGS) -c $^ -o $@ +out/obj/user/%.c.o: src/user/%.c + @mkdir -p $(@D) + @$(CC) $(CFLAGS) -fPIE -c $^ -o $@ + out/obj/usertestelf.c.o: src/usertestelf.c @mkdir -p $(@D) @$(CC) $(CFLAGS) -fPIE -c $^ -o $@ |