Makefile revision 1.14
1#	$NetBSD: Makefile,v 1.14 2003/12/25 21:02:58 jmc 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
9
10SRCS=	biostramp.S
11OBJS=	biostramp.o
12DEPS=	${APMDEPS}
13STRIP?=	strip
14
15all: biostramp.inc
16
17biostramp.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
21machine:
22	@rm -f machine && ln -s ${I386}/include machine
23
24x86:
25	@rm -f x86 && ln -s ${X86}/include x86
26
27.include <bsd.own.mk>
28
29.if ${OBJECT_FMT} == "ELF"
30biostramp.bin: biostramp.obj
31	${OBJCOPY} --output-target=binary $? $@
32.else
33biostramp.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
44biostramp.obj: ${OBJS} ${DEPS}
45	${LD} -Bstatic -N -Ttext 0 -e do_bios_call -o $@ $(OBJS)
46
47assym.h: machine x86 ${KSRC}/kern/genassym.sh genassym.cf
48	${HOST_SH} ${KSRC}/kern/genassym.sh ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} \
49	    < ${.CURDIR}/genassym.cf > assym.h.tmp && \
50	mv -f assym.h.tmp assym.h
51
52biostramp.S: assym.h
53
54biostramp.o: biostramp.S
55	${CC} ${CPPFLAGS} -DASM -D_LOCORE -c ${.IMPSRC}
56
57clean:
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