blob: 3cbdd4ee54e7b42fd75b9639b549b4677fb27331 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# $OpenBSD: Makefile,v 1.3 1997/03/25 17:05:49 niklas Exp $
NOPROG= installboot
MAN=installboot.8
SUBDIR=aout2bb txlt
AOUT2BB!=cd $(.CURDIR)/aout2bb; \
printf "xxx:\n\techo \$${.OBJDIR}/aout2bb\n" | \
${MAKE} -r -s -f - xxx | grep aout2bb
TXLT!= cd $(.CURDIR)/txlt; \
printf "xxx:\n\techo \$${.OBJDIR}/txlt\n" | \
${MAKE} -r -s -f - xxx | grep txlt
OBJS= configure.o main.o
OBJS+= console.o xd.o
# libsa library replacements:
OBJS+= alloc.o printf.o twiddle.o
# libkern replacements:
OBJS+= bcopy.o ashrdi3.o muldi3.o
# machine language startup code:
OBJS+= startit.o
SRCS= installboot.sh configure.c main.c console.c xd.c twiddle.c
SRCS+= bbstart.s libstubs.s alloc.s printf.s startit.s
SRCS+= bcopy.s ashrdi3.s muldi3.s
CLEANFILES= $(OBJS) $(BOOTBLOCKS) x.out xxstart.s f.out fdstart.s
S= ${.CURDIR}/../../../..
INCPATH= -I${.CURDIR} -I${.CURDIR}/../.. -I${S} -I${S}/lib/libsa
COPTIM= -O -fomit-frame-pointer -fno-function-cse -Wa,-l -m68060 \
-Wa,-m68030
CFLAGS= ${COPTIM} ${INCPATH} ${DEFS}
COPTS+= -Wall -Wstrict-prototypes
BOOTBLOCKS= xxboot # XXX fdboot is too large at the moment.
.s.o:
$(CC) $(CAFLAGS) $(COPTS) -x assembler-with-cpp -o $*.o -c $<
#libs:
.include "${.CURDIR}/libsa/Makefile.inc"
LIBSA= ${SA_LIB}
# libstubs should really be a library, but we don't care for now.
LIBS= ${LIBSA} ${LIBKERN} libstubs.o
all: $(BOOTBLOCKS) installboot
$(OBJS): txlt
xxstart.s: bbstart.s
cpp ${.CURDIR}/bbstart.s > $@
fdstart.s: bbstart.s
cpp -DAUTOLOAD=8192 ${.CURDIR}/bbstart.s > $@
x.out: xxstart.o $(OBJS) $(LIBS)
$(LD) $(LDFLAGS) -r -dc -e _start -o x.out xxstart.o $(OBJS) $(LIBS)
size x.out
f.out: fdstart.o $(OBJS) $(LIBS)
$(LD) $(LDFLAGS) -r -dc -e _start -o f.out fdstart.o $(OBJS) $(LIBS)
size f.out
$(BOOTBLOCKS): aout2bb
xxboot: x.out
rm -f $@
${AOUT2BB} x.out $@ || nm -u x.out
fdboot: f.out
rm -f $@
${AOUT2BB} -F f.out $@ || nm -u f.out
clean::
rm -f $(OBJS) fdstart.[os] xxstart.[os] f.out x.out installboot
install: all maninstall
install -o $(BINOWN) -g $(BINGRP) $(BOOTBLOCKS) /usr/mdec
install -o $(BINOWN) -g $(BINGRP) installboot /usr/sbin
ci:
ci -l $(SRCS) Makefile
tar:
(cd ..; tar \
--exclude '*.o' --exclude RCS --exclude .depend \
--exclude '*.out' --exclude fdstart.s --exclude xxstart.s \
--exclude aout2bb/aout2bb --exclude libsa.a \
-czvf boot.tar.gz boot)
test: xxtest fdtest
xxtest: xxboot
dd if=$? of=/dev/rsd1e bs=8192 count=1
fdtest: fdboot
dd if=$? of=/dev/rfd0a bs=8192 count=1
.include <bsd.prog.mk>
.include "Makefile.txlt"
|