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