Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[dragonfly.git] / sys / boot / alpha / common / Makefile.common
1 # $FreeBSD: src/sys/boot/alpha/common/Makefile.common,v 1.4.2.5 2002/07/17 12:34:16 ru Exp $
2 # $DragonFly: src/sys/boot/alpha/common/Attic/Makefile.common,v 1.2 2003/06/17 04:28:16 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 # Enable BootForth
15 BOOT_FORTH=     yes
16 CFLAGS+=        -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/alpha
17 CFLAGS+=        -DBOOT_FORTH
18 .if exists(${.OBJDIR}/../../ficl/libficl.a)
19 LIBFICL=        ${.OBJDIR}/../../ficl/libficl.a
20 .else
21 LIBFICL=        ${.CURDIR}/../../ficl/libficl.a
22 .endif
23
24 # Always add MI sources 
25 .PATH:          ${.CURDIR}/../../common
26 .include        <${.CURDIR}/../../common/Makefile.inc>
27 CFLAGS+=        -mno-fp-regs
28 CFLAGS+=        -I${.CURDIR}/../../common -I${.CURDIR}
29 CFLAGS+=        -I${.CURDIR}/../../.. -I.
30 CFLAGS+=        -DPRIMARY_LOAD_ADDRESS=${PRIMARY_LOAD_ADDRESS} \
31                 -DSECONDARY_LOAD_ADDRESS=${SECONDARY_LOAD_ADDRESS}
32
33 CLEANFILES+=    setdef0.c setdef0.o setdef1.c setdef1.o setdefs.h start.o \
34                 vers.c vers.o ${BASE} ${BASE}.sym ${BASE}.list
35
36 CFLAGS+=        -Wall
37
38 CFLAGS+=        -I${LIBSTANDDIR}
39 CFLAGS+=        -I${.CURDIR}/..
40 CRT=            start.o
41 STRIP=
42 BINDIR?=        /boot
43 INSTALLFLAGS?=  -b
44
45 all: ${BASE}
46
47 vers.o: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
48         sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
49         ${CC} -c vers.c
50
51 ${BASE}: ${BASE}.sym ${BASE}.help
52         objcopy -O binary ${BASE}.sym ${BASE}
53
54 ${BASE}.sym: ${OBJS} ${LIBSTAND} ${LIBFICL} ${LIBALPHA} ${CRT} vers.o setdef0.o setdef1.o
55         ${LD} -o ${BASE}.sym -M -e start -N -Ttext ${LOAD_ADDRESS} \
56         ${CRT} setdef0.o ${OBJS} setdef1.o vers.o \
57         -L${DESTDIR}${LIBDIR} ${LIBSTAND} ${LIBALPHA} ${LIBFICL} ${LIBSTAND} \
58         >${.OBJDIR}/${BASE}.list
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 setdef0.o: setdefs.h
90
91 setdef1.o: setdefs.h
92
93 machine:
94         ln -sf ${.CURDIR}/../../../alpha/include machine
95
96 CLEANFILES+=    machine
97
98 .include <bsd.prog.mk>
99
100 .ORDER: setdefs.h setdef0.c setdef1.c
101 setdefs.h setdef0.c setdef1.c: ${OBJS}
102         @echo Generating linker sets
103         @gensetdefs ${OBJS}
104
105 beforedepend ${OBJS}: machine