blob: c9168c0140df32e57b888b8fbde6c8d8fb380940 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
CC = ppc64-linux-gcc
CXX = ppc64-linux-g++
LD = ppc64-linux-ld
COMMONFLAGS = -O3 -nostdlib ${EXTRACOMMONFLAGS}
CFLAGS = ${COMMONFLAGS} -mcpu=power7 -nostdinc -g -msoft-float -mno-altivec \
-Wall
ASMFLAGS = ${COMMONFLAGS} -mcpu=power7
CXXFLAGS = ${CFLAGS} -nostdinc++ -fno-rtti -fno-exceptions -Wall
LDFLAGS = --nostdlib --sort-common ${COMMONFLAGS}
LDMAPFLAGS = -Map $@.map
INCDIR = ${ROOTPATH}/src/include/
${OBJDIR}/%.o : %.C
mkdir -p ${OBJDIR}
${CXX} -c ${CXXFLAGS} $< -o $@ -I ${INCDIR}
${OBJDIR}/%.o : %.c
mkdir -p ${OBJDIR}
${CC} -c ${CFLAGS} $< -o $@ -I ${INCDIR}
${OBJDIR}/%.o : %.S
mkdir -p ${OBJDIR}
${CC} -c ${ASMFLAGS} $< -o $@ -Wa,-I${INCDIR}
${IMGDIR}/%.so : ${OBJECTS} ${ROOTPATH}/src/module.ld
${LD} -shared -z now --gc-sections ${LDFLAGS} $< \
-T ${ROOTPATH}/src/module.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/build/linker/linker $@ $^
%.d:
cd ${basename $@} && ${MAKE}
%.clean:
cd ${basename $@} && ${MAKE} clean
|