xref: /netbsd-src/sys/arch/i386/bioscall/Makefile (revision 0df165c04d0a9ca1adde9ed2b890344c937954a6)
1#	$NetBSD: Makefile,v 1.17 2006/06/06 15:41:50 christos 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 -D_KERNEL
9
10SRCS=	biostramp.S
11OBJS=	biostramp.o
12DEPS=	${APMDEPS}
13STRIP?=	strip
14TRAMP=	${.CURDIR}/biostramp.inc
15
16all: ${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
22machine:
23	@rm -f machine && ln -s ${I386}/include machine
24
25x86:
26	@rm -f x86 && ln -s ${X86}/include x86
27
28.include <bsd.own.mk>
29
30.if ${OBJECT_FMT} == "ELF"
31biostramp.bin: biostramp.obj
32	${OBJCOPY} --output-target=binary $? $@
33.else
34biostramp.bin: biostramp.obj
35	cp $? $@
36	@${STRIP} $@
37	@${HOST_SH} ${.CURDIR}/rmaouthdr $@ $@.tmp
38	@if [ `ls -l $@.tmp |awk '{print $$5}'` -gt 4096 ]; then \
39		echo "$@ too big"; \
40		exit 1; \
41	fi
42	@mv -f $@.tmp $@
43.endif
44
45biostramp.obj: ${OBJS} ${DEPS}
46	${LD} -Bstatic -N -Ttext 0 -e do_bios_call -o $@ $(OBJS)
47
48assym.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
53biostramp.S: assym.h
54
55biostramp.o: biostramp.S
56	${CC} ${CPPFLAGS} -DASM -D_LOCORE -c ${.IMPSRC}
57
58clean:
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