Home | History | Annotate | Line # | Download | only in bioscall
Makefile revision 1.16
      1 #	$NetBSD: Makefile,v 1.16 2005/12/11 12:17:40 christos 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