xref: /dragonfly/test/nvmm/demo/smallkern/Makefile (revision 7d3e9a5b)
1NAME=	smallkern
2SRCS=	console.c main.c locore.S trap.S
3LDSCRIPT= ${NAME}.ldscript
4
5OBJDIR=	/tmp/${NAME}.obj
6OBJS=	${SRCS:R:S/$/.o/g:S/^/${OBJDIR}\//g}
7CFLAGS=	-g -std=c99 -Wall -Wextra -mno-red-zone -ffreestanding -D__x86_64__
8
9all: /tmp/${NAME}
10
11/tmp/${NAME}: ${OBJS} ${LDSCRIPT}
12	ld -o ${.TARGET} \
13		-X -z max-page-size=0x100000 -Ttext 0x100000 \
14		-T ${.CURDIR}/${LDSCRIPT} ${OBJS}
15
16.for src in ${SRCS}
17${src:R:S/$/.o/g:S/^/${OBJDIR}\//g}: ${.CURDIR}/${src}
18	@[ -d ${OBJDIR} ] || mkdir -p ${OBJDIR}
19	cc ${CFLAGS} -o ${.TARGET} -c ${.ALLSRC}
20.endfor
21
22clean:
23	rm -f /tmp/${NAME}
24	rm -rf ${OBJDIR}
25