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