summaryrefslogtreecommitdiffstats
path: root/config.mk
blob: d74cd051f7be54631925199d2108d180067f8b67 (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
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 = -static --sort-common  -Map $@.map ${COMMONFLAGS}

INCDIR = ${OBJDIR}/../src/include/

${OBJDIR}/%.o : %.C
	${CXX} -c ${CXXFLAGS} $< -o $@ -I ${INCDIR}

${OBJDIR}/%.o : %.c
	${CC} -c ${CFLAGS} $< -o $@ -I ${INCDIR}

${OBJDIR}/%.o : %.S
	${CC} -c ${ASMFLAGS} $< -o $@ -Wa,-I${INCDIR}

${IMGDIR}/%.elf: kernel.ld ${OBJDIR}/*.o
	${LD} ${LDFLAGS} ${OBJDIR}/*.o -T kernel.ld -o $@

${IMGDIR}/%.bin: kernel.ld ${OBJDIR}/*.o
	${LD} ${LDFLAGS} ${OBJDIR}/*.o --oformat=binary -T kernel.ld -o $@

%.d:
	cd ${basename $@} && ${MAKE}

%.clean:
	cd ${basename $@} && ${MAKE} clean
OpenPOWER on IntegriCloud