1# $NetBSD: Makefile,v 1.17 2006/06/06 15:41:50 christos Exp $ 2 3CPPFLAGS= ${APMCPPFLAGS} 4KSRC=${.CURDIR}/../../.. 5ARCHSRC=${.CURDIR}/../.. 6I386=${KSRC}/arch/i386 7X86=${KSRC}/arch/x86 8CPPFLAGS+=-I${ARCHSRC} -I${KSRC} -I${.CURDIR} -I${.OBJDIR} -D_LKM -D_KERNEL 9 10SRCS= biostramp.S 11OBJS= biostramp.o 12DEPS= ${APMDEPS} 13STRIP?= strip 14TRAMP= ${.CURDIR}/biostramp.inc 15 16all: ${TRAMP} 17 18${TRAMP}: biostramp.bin Makefile 19 @([ -f ${TRAMP} ] && mv -f ${TRAMP} ${TRAMP}.bak; exit 0) 20 ${HOST_SH} ${.CURDIR}/bin2asm.sh biostramp.bin > ${.TARGET} 21 22machine: 23 @rm -f machine && ln -s ${I386}/include machine 24 25x86: 26 @rm -f x86 && ln -s ${X86}/include x86 27 28.include <bsd.own.mk> 29 30.if ${OBJECT_FMT} == "ELF" 31biostramp.bin: biostramp.obj 32 ${OBJCOPY} --output-target=binary $? $@ 33.else 34biostramp.bin: biostramp.obj 35 cp $? $@ 36 @${STRIP} $@ 37 @${HOST_SH} ${.CURDIR}/rmaouthdr $@ $@.tmp 38 @if [ `ls -l $@.tmp |awk '{print $$5}'` -gt 4096 ]; then \ 39 echo "$@ too big"; \ 40 exit 1; \ 41 fi 42 @mv -f $@.tmp $@ 43.endif 44 45biostramp.obj: ${OBJS} ${DEPS} 46 ${LD} -Bstatic -N -Ttext 0 -e do_bios_call -o $@ $(OBJS) 47 48assym.h: machine x86 genassym.cf 49 ${TOOL_GENASSYM} -- ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} \ 50 < ${.CURDIR}/genassym.cf > assym.h.tmp && \ 51 mv -f assym.h.tmp assym.h 52 53biostramp.S: assym.h 54 55biostramp.o: biostramp.S 56 ${CC} ${CPPFLAGS} -DASM -D_LOCORE -c ${.IMPSRC} 57 58clean: 59 rm -f *.o biostramp.obj biostramp.bin biostramp.sym ${TRAMP} \ 60 assym.h ${TRAMP}.bak machine 61 62.include <bsd.dep.mk> 63.include <bsd.subdir.mk> 64.include <bsd.obj.mk> 65