Makefile revision 40243
1# $Id: Makefile,v 1.10 1998/10/07 02:39:32 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.
14#HAVE_PNP=	yes
15#HAVE_ISABUS=	yes
16
17# Always add MI sources 
18.PATH:		${.CURDIR}/../../common
19.include	<${.CURDIR}/../../common/Makefile.inc>
20CFLAGS+=	-I${.CURDIR}/../../common -I.
21
22CLEANFILES+=	vers.c vers.o ${BASE}.list setdef0.o setdef1.o setdefs.h \
23		gensetdefs.o gensetdefs ${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# Debug me!
52#CFLAGS+=	-g
53#LDFLAGS+=	-g
54
55vers.o:
56	sh ${.CURDIR}/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
57	${CC} -c vers.c
58
59${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN}
60	btxld -v -f aout -e 0x100000 -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} \
61		${BASE}.bin
62
63${BASE}.bin: ${OBJS} ${LIBI386} vers.o setdef0.o setdef1.o
64	${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} setdef0.o ${OBJS} vers.o setdef1.o \
65		${LIBSTAND} ${LIBI386} ${LIBSTAND}
66
67setdef0.o:	setdefs.h
68
69setdef1.o:	setdefs.h
70
71.include <bsd.prog.mk>
72
73# Linker set gymnastics
74setdefs.h: gensetdefs ${OBJS}
75	@echo Generating linker sets
76	@./gensetdefs ${OBJS} >setdefs.h
77
78gensetdefs: gensetdefs.o
79	${CC} -static gensetdefs.o -o $@
80
81gensetdefs.o: gensetdefs.c
82	${CC} -c $<
83
84
85