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