Home | History | Annotate | Line # | Download | only in bioscall
Makefile revision 1.17.60.1
      1 #	$NetBSD: Makefile,v 1.17.60.1 2009/01/17 13:28:02 mjf 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 TRAMP=	${.CURDIR}/biostramp.inc
     15 
     16 all: ${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 
     22 machine:
     23 	@rm -f machine && ln -s ${I386}/include machine
     24 
     25 x86:
     26 	@rm -f x86 && ln -s ${X86}/include x86
     27 
     28 .include <bsd.own.mk>
     29 
     30 .if ${OBJECT_FMT} == "ELF"
     31 biostramp.bin: biostramp.obj
     32 	${OBJCOPY} --output-target=binary $? $@
     33 .else
     34 biostramp.bin: biostramp.obj
     35 	cp $? $@
     36 	@${STRIP} $@
     37 	@${HOST_SH} ${.CURDIR}/rmaouthdr $@ $@.tmp
     38 	@if [ `ls -l $@.tmp | ${TOOL_AWK} '{print $$5}'` -gt 4096 ]; then \
     39 		echo "$@ too big"; \
     40 		exit 1; \
     41 	fi
     42 	@mv -f $@.tmp $@
     43 .endif
     44 
     45 biostramp.obj: ${OBJS} ${DEPS}
     46 	${LD} -Bstatic -N -Ttext 0 -e do_bios_call -o $@ $(OBJS)
     47 
     48 assym.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 
     53 biostramp.S: assym.h
     54 
     55 biostramp.o: biostramp.S
     56 	${CC} ${CPPFLAGS} -DASM -D_LOCORE -c ${.IMPSRC}
     57 
     58 clean:
     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