Makefile revision 40600
1# $Id: Makefile,v 1.13 1998/10/21 20:10:33 msmith Exp $
2
3BASE=		loader
4PROG=		${BASE}
5NOMAN=
6STRIP=
7NEWVERSWHAT=	"bootstrap loader"
8BINDIR?=	/boot
9
10# architecture-specific loader code
11SRCS=		main.c conf.c
12
13# Enable PnP and ISA-PnP code.
14HAVE_PNP=	yes
15HAVE_ISABUS=	yes
16
17# Always add MI sources 
18.PATH:		${.CURDIR}/../../common
19.include	<${.CURDIR}/../../common/Makefile.inc>
20CFLAGS+=	-I${.CURDIR}/../../common
21CFLAGS+=	-I${.CURDIR}/../../.. -I.
22
23CLEANFILES+=	vers.c vers.o ${BASE}.list ${BASE}.bin
24
25CFLAGS+=	-Wall
26LDFLAGS=	-nostdlib -static -Ttext 0x1000
27
28# i386 standalone support library
29LIBI386=	${.OBJDIR}/../libi386/libi386.a
30CFLAGS+=	-I${.CURDIR}/..
31
32# where to get libstand from
33LIBSTAND=	-lstand
34#LIBSTAND=	${.CURDIR}/../../../lib/libstand/libstand.a
35#CFLAGS+=	-I${.CURDIR}/../../../lib/libstand/
36
37# BTX components
38.if exists(${.OBJDIR}/../btx)
39BTXDIR=		${.OBJDIR}/../btx
40.else
41BTXDIR=		${.CURDIR}/../btx
42.endif
43BTXLDR=		${BTXDIR}/btxldr/btxldr
44BTXKERN=	${BTXDIR}/btx/btx
45BTXCRT=		${BTXDIR}/lib/crt0.o
46CFLAGS+=	-I${.CURDIR}/../btx/lib
47
48# BTX is expecting ELF components
49CFLAGS+=	-elf
50
51# New linker set code
52CFLAGS+=	-DNEW_LINKER_SET
53
54# Debug me!
55#CFLAGS+=	-g
56#LDFLAGS+=	-g
57
58vers.o:
59	sh ${.CURDIR}/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
60	${CC} -c vers.c
61
62${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT}
63	btxld -v -f aout -e 0x100000 -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} \
64		${BASE}.bin
65
66${BASE}.bin: ${BASE}.sym
67	cp ${.ALLSRC} ${.TARGET}
68	strip ${.TARGET}
69
70# Cannot use ${OBJS} above this line
71.include <bsd.prog.mk>
72
73${BASE}.sym: ${OBJS} ${LIBI386} vers.o
74	${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} ${OBJS} vers.o \
75		${LIBSTAND} ${LIBI386} ${LIBSTAND}
76
77# If it's not there, don't consider it a target
78.if exists(${.CURDIR}/../../../i386/include)
79beforedepend ${OBJS}: machine
80
81machine:
82	ln -sf ${.CURDIR}/../../../i386/include machine
83
84.endif
85
86CLEANFILES+=	machine
87
88
89