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