diff options
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/i386/Config.lb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/arch/i386/Config.lb b/src/arch/i386/Config.lb index bb5202bc45..e9b426cc2d 100644 --- a/src/arch/i386/Config.lb +++ b/src/arch/i386/Config.lb @@ -1,4 +1,5 @@ uses CONFIG_SMP +uses CONFIG_USE_INIT init init/crt0.S.lb ldscript init/ldscript.lb @@ -29,6 +30,21 @@ end addaction clean "rm -f romimage payload.*" +if CONFIG_USE_INIT +makerule init.o + depends "$(INIT-OBJECTS)" + action "$(LD) -melf_i386 -r -o init.pre.o $(INIT-OBJECTS)" + action "$(OBJCOPY) --rename-section .text=.init.text --rename-section .data=.init.data --rename-section .rodata=.init.rodata --rename-section .rodata.str1.1=.init.rodata.str1.1 init.pre.o init.o" +end + +makerule linuxbios + depends "crt0.o init.o linuxbios_ram.rom ldscript.ld" + action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o init.o" + action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map" +end + +end + dir lib dir boot if CONFIG_SMP |