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