Makefile revision 92658
1# $FreeBSD: head/sys/boot/ia64/ski/Makefile 92658 2002-03-19 10:51:57Z peter $
2
3.PATH: ${.CURDIR}/../common
4
5PROG= 		skiload
6NOMAN=
7NEWVERSWHAT=	"ia64 SKI boot" ${MACHINE_ARCH}
8
9SRCS+=		main.c conf.c
10
11# Enable BootForth
12BOOT_FORTH=	yes
13CFLAGS+=	-g
14CFLAGS+=	-I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/alpha
15.if BOOT_FORTH
16CFLAGS+=	-DBOOT_FORTH
17.if exists(${.OBJDIR}/../../ficl/libficl.a)
18LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
19.else
20LIBFICL=	${.CURDIR}/../../ficl/libficl.a
21.endif
22.else
23LIBFICL=
24.endif
25
26LIBSTAND=	-lstand
27.if exists(${.OBJDIR}/../libski/libski.a)
28LIBSKI=		${.OBJDIR}/../libski/libski.a
29.else
30LIBSKI=		${.CURDIR}/../libski/libski.a
31.endif
32
33# Always add MI sources 
34.PATH: ${.CURDIR}/../../common
35.include <${.CURDIR}/../../common/Makefile.inc>
36
37CFLAGS+= -I-
38CFLAGS+= -I${.CURDIR}/../include
39CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH}
40CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}
41CFLAGS+= -I${.CURDIR}/../../.. -I.
42CFLAGS+= -I${.CURDIR}/../libski
43CFLAGS+= -DLOADER
44CFLAGS+= -ffreestanding
45
46LDFLAGS=	-nostdlib -T ${.CURDIR}/ldscript.ia64
47
48CLEANFILES+=	vers.c vers.o ${PROG}.list
49CLEANFILES+=	loader.help
50CLEANFILES+=	machine
51
52all: ${PROG}
53
54vers.o: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
55	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
56	${CC} -c vers.c
57
58${PROG}.help:	help.common help.efi
59	cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk \
60	    > ${.TARGET}
61
62beforeinstall:
63.if exists(${.OBJDIR}/loader.help)
64	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
65	    ${.OBJDIR}/${PROG}.help ${DESTDIR}/boot
66.else
67	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
68	    ${.CURDIR}/${PROG}.help ${DESTDIR}/boot
69.endif
70
71# Other fragments still to be brought in from ../Makfile.booters?
72start.o: ${.CURDIR}/../libefi/arch/${MACHINE_ARCH}/start.S
73	${CC} -c ${CFLAGS} ${.IMPSRC}
74
75machine:
76	ln -sf ${.CURDIR}/../../../${MACHINE_ARCH}/include machine
77
78${PROG}: ${OBJS} ${LIBFICL} ${LIBSTAND} ${LIBSKI} vers.o
79	${LD} ${LDFLAGS} -o ${PROG} -M \
80	    ${OBJS} vers.o \
81	    ${LIBFICL} ${LIBSTAND} ${LIBSKI} ${LIBSTAND} \
82	    > ${.OBJDIR}/${PROG}.list
83
84.include <bsd.prog.mk>
85
86beforedepend ${OBJS}: machine
87