diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2010-08-20 18:11:26 -0500 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2010-08-20 18:11:26 -0500 |
commit | fbedff5e909777a1d646947bd4f9beca6ddf7024 (patch) | |
tree | 9904d043dc60fc11c6fb0649f3c8393070fd0348 /config.mk | |
parent | 6dbab3072e8f50e25137fa53c7ffce0d111c2338 (diff) | |
download | talos-hostboot-fbedff5e909777a1d646947bd4f9beca6ddf7024.tar.gz talos-hostboot-fbedff5e909777a1d646947bd4f9beca6ddf7024.zip |
Add linker in preparation for modules.
Diffstat (limited to 'config.mk')
-rw-r--r-- | config.mk | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -7,9 +7,10 @@ CFLAGS = ${COMMONFLAGS} -mcpu=power7 -nostdinc -g -msoft-float -mno-altivec \ -Wall ASMFLAGS = ${COMMONFLAGS} -mcpu=power7 CXXFLAGS = ${CFLAGS} -nostdinc++ -fno-rtti -fno-exceptions -Wall -LDFLAGS = -static --sort-common -Map $@.map ${COMMONFLAGS} +LDFLAGS = --nostdlib --sort-common ${COMMONFLAGS} +LDMAPFLAGS = -Map $@.map -INCDIR = ${OBJDIR}/../src/include/ +INCDIR = ${ROOTPATH}/src/include/ ${OBJDIR}/%.o : %.C ${CXX} -c ${CXXFLAGS} $< -o $@ -I ${INCDIR} @@ -20,11 +21,16 @@ ${OBJDIR}/%.o : %.c ${OBJDIR}/%.o : %.S ${CC} -c ${ASMFLAGS} $< -o $@ -Wa,-I${INCDIR} -${IMGDIR}/%.elf: kernel.ld ${OBJDIR}/*.o - ${LD} ${LDFLAGS} ${OBJDIR}/*.o -T kernel.ld -o $@ +${OBJDIR}/%.so : ${OBJECTS} ${ROOTPATH}/src/module.ld + ${LD} -shared -z now --gc-sections ${LDFLAGS} $< \ + -T ${ROOTPATH}/src/module.ld -o $@ -${IMGDIR}/%.bin: kernel.ld ${OBJDIR}/*.o - ${LD} ${LDFLAGS} ${OBJDIR}/*.o --oformat=binary -T kernel.ld -o $@ +${IMGDIR}/%.elf: kernel.ld ${OBJDIR}/*.o ${ROOTPATH}/src/kernel.ld + ${LD} -static ${LDFLAGS} ${LDMAPFLAGS} ${OBJDIR}/*.o \ + -T ${ROOTPATH}/src/kernel.ld -o $@ + +${IMGDIR}/%.bin: ${IMGDIR}/%.elf $(wildcard ${IMGDIR}/*.so) + ${ROOTPATH}/src/bld/linker $@ $^ %.d: cd ${basename $@} && ${MAKE} |