Makefile revision 39450
1# $Id: Makefile,v 1.3 1998/09/17 23:52:15 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} \
51		${BASE}.bin
52
53${BASE}.bin: ${OBJS} ${LIBI386} vers.o setdef0.o setdef1.o
54	${LD} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} setdef0.o ${OBJS} vers.o \
55		setdef1.o -lstand ${LIBI386} -lstand
56
57setdef0.o:	setdefs.h
58
59setdef1.o:	setdefs.h
60
61.include <bsd.prog.mk>
62
63# Linker set gymnastics
64setdefs.h: gensetdefs ${OBJS}
65	@echo Generating linker sets
66	@./gensetdefs ${OBJS} >setdefs.h
67
68gensetdefs: gensetdefs.o
69	${CC} -static gensetdefs.o -o $@
70
71gensetdefs.o: gensetdefs.c
72	${CC} -c $<
73
74
75