Makefile revision 68548
1# $FreeBSD: head/sys/boot/powerpc/ofw/Makefile 68548 2000-11-10 06:39:58Z benno $
2
3BASE=		loader
4PROG=		${BASE}
5NOMAN=
6MAN1=
7STRIP=
8NEWVERSWHAT=	"bootstrap loader" OpenFirmware/PowerPC
9BINDIR?=	/boot
10
11LOADER_DISK_SUPPORT?=	yes
12LOADER_NET_SUPPORT?=	yes
13
14# architecture-specific loader code
15SRCS=		conf.c
16
17# Pull in common loader code
18.PATH:		${.CURDIR}/../../ofw/common
19.include	<${.CURDIR}/../../ofw/common/Makefile.inc>
20
21.if defined(LOADER_DISK_SUPPORT)
22CFLAGS+=	-DLOADER_DISK_SUPPORT
23.endif
24.if defined(LOADER_NET_SUPPORT)
25CFLAGS+=	-DLOADER_NET_SUPPORT
26.endif
27
28.if !defined(NOFORTH)
29# Enable BootForth
30BOOT_FORTH=	yes
31CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc
32.if exists(${.OBJDIR}/../../ficl/libficl.a)
33LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
34.else
35LIBFICL=	${.CURDIR}/../../ficl/libficl.a
36.endif
37.endif
38
39# Always add MI sources 
40.PATH:		${.CURDIR}/../../common
41.include	<${.CURDIR}/../../common/Makefile.inc>
42CFLAGS+=	-I${.CURDIR}/../../common
43CFLAGS+=	-I${.CURDIR}/../../.. -I.
44
45CLEANFILES+=	vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help
46
47CFLAGS+=	-Wall
48LDFLAGS=	-nostdlib -static -Ttext 6c0000
49
50# OpenFirmware standalone support library
51LIBOFW=		${.OBJDIR}/../../ofw/libofw/libofw.a
52CFLAGS+=	-I${.CURDIR}/../../ofw/libofw
53
54# where to get libstand from
55#XXX need a better way to do this
56LIBSTAND=	${.CURDIR}/../../../../lib/libstand/libstand.a
57#.if !exists(${LIBSTAND})
58#LIBSTAND=	${.OBJDIR}/../../../../lib/libstand/libstand.a
59#.if !exists(${LIBSTAND})
60#LIBSTAND=	-lstand
61#.endif
62#.endif
63CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/
64
65# OpenFirmware is expecting ELF components
66CFLAGS+=	-elf
67
68# New linker set code
69#CFLAGS+=	-DNEW_LINKER_SET
70
71# Debug me!
72CFLAGS+=	-g
73LDFLAGS+=	-g
74
75vers.o:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
76	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
77	${CC} -c vers.c
78
79${BASE}.help: help.common help.ofw
80	cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
81
82beforeinstall:
83.if exists(${DESTDIR}/boot/loader)
84	mv ${DESTDIR}/boot/loader ${DESTDIR}/boot/loader.old
85.endif
86.if exists(${.OBJDIR}/loader.help)
87	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
88		${.OBJDIR}/${BASE}.help ${DESTDIR}/boot
89.else
90	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
91		${.CURDIR}/${BASE}.help ${DESTDIR}/boot
92.endif
93.if !exists(${DESTDIR}/boot/loader.rc)
94	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
95		${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot
96.endif
97	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
98		${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot
99	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
100		${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot
101	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
102		${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults
103
104${PROG}: ${OBJS} ${LIBOFW} ${LIBSTAND} ${LIBFICL} start.o vers.o setdef0.o setdef1.o
105	${LD} ${LDFLAGS} -o ${.TARGET} setdef0.o start.o ${OBJS} setdef1.o \
106		vers.o ${LIBFICL} ${LIBOFW} ${LIBSTAND}
107
108setdef0.o:	setdefs.h
109
110setdef1.o:	setdefs.h
111
112machine:
113	ln -sf ${.CURDIR}/../../../powerpc/include machine
114
115# Cannot use ${OBJS} above this line
116.include <bsd.prog.mk>
117
118beforedepend ${OBJS}: machine
119
120CLEANFILES+=	machine setdefs.h setdef0.c setdef1.c setdef0.o setdef1.o \
121		start.o
122
123.ORDER: setdefs.h setdef0.c setdef1.c
124setdefs.h setdef0.c setdef1.c: ${OBJS}
125	@echo Generating linker sets
126	@gensetdefs ${OBJS}
127