Makefile revision 39441
1# $Id: Makefile,v 1.2 1998/09/14 18:27:06 msmith Exp $
2# from	$NetBSD: Makefile,v 1.12 1998/02/19 14:18:36 drochner Exp $
3
4BASE=		loader
5PROG=		${BASE}
6NOMAN=
7NEWVERSWHAT=	"bootstrap loader"
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
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
29LDADD=		-lstand ${LIBI386}
30
31# i386 standalone support library
32LIBI386=	${.OBJDIR}/../libi386/libi386.a
33CFLAGS+=	-I${.CURDIR}/..
34
35# BTX components
36BTXDIR=		${.CURDIR}/../btx
37BTXLDR=		${BTXDIR}/btxldr/btxldr
38BTXKERN=	${BTXDIR}/btx/btx
39BTXCRT=		${BTXDIR}/lib/crt0.o
40CFLAGS+=	-I${BTXDIR}/lib
41
42# BTX is expecting ELF components
43CFLAGS+=	-elf
44
45vers.o:
46	sh ${.CURDIR}/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
47	${CC} -c vers.c
48
49${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN}
50	btxld -v -f aout -e 0x100000 -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} ${BASE}.bin
51
52${BASE}.bin: ${OBJS} ${LIBI386} vers.o setdef0.o setdef1.o
53	${LD} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} setdef0.o ${OBJS} vers.o setdef1.o -lstand ${LIBI386}
54
55setdef0.o:	setdefs.h
56
57setdef1.o:	setdefs.h
58
59.include <bsd.prog.mk>
60
61# Linker set gymnastics
62setdefs.h: gensetdefs ${OBJS}
63	@echo Generating linker sets
64	@./gensetdefs ${OBJS} >setdefs.h
65
66gensetdefs: gensetdefs.o
67	${CC} -static gensetdefs.o -o $@
68
69gensetdefs.o: gensetdefs.c
70	${CC} -c $<
71
72
73