Fully synchronize sys/boot from FreeBSD-5.x, but add / to the module path
[dragonfly.git] / sys / boot / alpha / common / Makefile.common
1 # $FreeBSD$
2 # $DragonFly: src/sys/boot/alpha/common/Attic/Makefile.common,v 1.3 2003/11/10 06:08:29 dillon Exp $
3 #
4 # Common Alpha loader build rules
5
6 .PATH:          ${.CURDIR}/../common
7
8 # Alpha-specific bootstrap sources
9 SRCS+=          main.c conf.c
10 .if ${BASE} == netboot
11 SRCS+=          dev_net.c
12 .endif
13
14 .if !defined(NOFORTH)
15 # Enable BootForth
16 BOOT_FORTH=     yes
17 CFLAGS+=        -DBOOT_FORTH
18 CFLAGS+=        -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/alpha
19 .if exists(${.OBJDIR}/../../ficl/libficl.a)
20 LIBFICL=        ${.OBJDIR}/../../ficl/libficl.a
21 .else
22 LIBFICL=        ${.CURDIR}/../../ficl/libficl.a
23 .endif
24 .endif
25
26 # Always add MI sources 
27 .PATH:          ${.CURDIR}/../../common
28 .include        <${.CURDIR}/../../common/Makefile.inc>
29 CFLAGS+=        -mno-fp-regs
30 CFLAGS+=        -I${.CURDIR}/../../common -I${.CURDIR}
31 CFLAGS+=        -I${.CURDIR}/../../.. -I.
32 CFLAGS+=        -DPRIMARY_LOAD_ADDRESS=${PRIMARY_LOAD_ADDRESS} \
33                 -DSECONDARY_LOAD_ADDRESS=${SECONDARY_LOAD_ADDRESS}
34
35 CLEANFILES+=    setdef0.c setdef0.o setdef1.c setdef1.o setdefs.h start.o \
36                 vers.c vers.o ${BASE} ${BASE}.sym ${BASE}.list
37
38 CFLAGS+=        -Wall
39
40 CFLAGS+=        -I${LIBSTANDDIR}
41 CFLAGS+=        -I${.CURDIR}/..
42 CRT=            start.o
43 STRIP=
44 BINDIR?=        /boot
45 INSTALLFLAGS?=  -b
46
47 all: ${BASE} ${BASE}.help
48
49 vers.o: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
50         sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
51         ${CC} -c vers.c
52
53 ${BASE}: ${OBJS} ${LIBSTAND} ${LIBFICL} ${LIBALPHA} ${CRT} vers.o
54         ${LD} -o ${BASE}.sym -M -e start -N -Ttext ${LOAD_ADDRESS} \
55         ${CRT} ${OBJS} vers.o \
56         -L${DESTDIR}${LIBDIR} ${LIBSTAND} ${LIBALPHA} ${LIBFICL} ${LIBSTAND} \
57         >${.OBJDIR}/${BASE}.list
58         objcopy -O binary ${BASE}.sym ${BASE}
59
60 CLEANFILES+=    ${BASE}.help
61 ${BASE}.help: help.common help.alpha
62         cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
63
64 beforeinstall:
65 .ifdef INSTALL_HELP
66 .if exists(${.OBJDIR}/${BASE}.help)
67         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
68                 ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot
69 .else
70         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
71                 ${.CURDIR}/${BASE}.help ${DESTDIR}/boot
72 .endif
73 .endif
74 .if !exists(${DESTDIR}/boot/loader.rc)
75         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
76                 ${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot
77 .endif
78         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
79                 ${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot
80         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
81                 ${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot
82         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
83                 ${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults
84
85
86 start.o:        ${.CURDIR}/../libalpha/start.S
87         ${CC} -c ${CFLAGS} $<
88
89 machine:
90         ln -sf ${.CURDIR}/../../../alpha/include machine
91
92 CLEANFILES+=    machine
93
94 .include <bsd.prog.mk>
95
96 beforedepend ${OBJS}: machine