summaryrefslogtreecommitdiff
path: root/sys/arch/pmax/stand/Makefile
blob: cc13b44058e2d9730dec3f75b0a19caba1aea320 (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
110
#	$NetBSD: Makefile,v 1.8 1996/10/18 06:08:15 thorpej Exp $
#	@(#)Makefile	8.3 (Berkeley) 2/16/94

DESTDIR=
STAND=	../../stand
#VPATH=	${STAND}

# RELOC=80200000 allows for boot prog up to 1D0000 (1900544) bytes long
RELOC=	80200000

S=      ${.CURDIR}/../../..

DEFS= -DSTANDALONE -DSMALL
CFLAGS=	-O2 ${INCPATH} ${DEFS}
AFLAGS=	-O2 ${INCPATH} ${DEFS} -D_LOCORE

.PATH: ${S}/arch/${MACHINE_ARCH}/${MACHINE_ARCH}
.PATH: ${S}/stand ${S}/lib/libsa

#INCPATH=-I. -I/sys
INCPATH=-I${.CURDIR} -I${.CURDIR}/../.. -I${S} -I${S}/lib/libsa

### find out what to use for libkern
.include "$S/lib/libkern/Makefile.inc"
#LIBKERN= ${KERNLIB}
#KERNLIB= ${.CURDIR}/../compile/libkern.a

.include "$S/lib/libsa/Makefile.inc"
LIBSA=  ${SA_LIB}

# not yet: need to write libsa/Makefile.inc first
LIBS=  ${.OBJDIR}/libdrive.a ${.CURDIR}/libsa/libsa.a  ${KERNLIB}
#LIBS=	libdrive.a libsa/libsa.a ../../libkern/obj/libkern.a 

DRIVERS= rz.c
SRCS=	${DRIVERS}
#STUFF=	callvec.c devopen.c getenv.c gets.c strcmp.c
STUFF=

ALL=	boot mkboot mkboottape dec_label rzboot bootrz

.s.o:
	${CPP} -E ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \
	    ${AS} -o ${.TARGET}

all: ${ALL}

boot: ${LIBS}

#libsa/libsa.a::
#	cd libsa; make

${.OBJDIR}/libdrive.a: conf.o ${DRIVERS:.c=.o}
	ar crv $@ $?
	ranlib $@

# depend on DEFS

#before other deps on bootconf.o
bootconf.o: conf.o
	rm -f bootconf.c
	ln -s ${.CURDIR}/conf.c bootconf.c
	${CC} -c ${CFLAGS} -DBOOT bootconf.c
	rm -f bootconf.c


# bootable from real disks

boot:	start.o boot.o bootconf.o filesystem.o ${LIBS}
	ld -Map boot.map -N -Ttext ${RELOC} -e start start.o boot.o bootconf.o filesystem.o ${LIBS} -o boot.elf
	elf2aout boot.elf boot

start.o: ${.CURDIR}/start.S

#	${CPP} -E ${CFLAGS:M-[ID]*} -D_LOCORE ${AINC} ${.IMPSRC} | \
#	    ${AS} -o ${.TARGET}

mkboot: ${.CURDIR}/mkboot.c
	${CC} ${CFLAGS} -o mkboot ${.CURDIR}/mkboot.c

mkboottape: ${.CURDIR}/mkboottape.c
	${CC} ${CFLAGS} -o mkboottape ${.CURDIR}/mkboottape.c

dec_label: ${.CURDIR}/dec_label.c
	${CC} ${CFLAGS} -o dec_label ${.CURDIR}/dec_label.c

rzboot bootrz:	mkboot boot
	./mkboot boot rzboot bootrz

# utilities

clean cleandir:
	rm -f .depend *.o *.exe *.i errs make.out core*
	rm -f a.out ${ALL}
	rm -f boot[a-z][a-z] [a-z][a-z]boot
	rm -f libdrive.a
	cd libsa; make cleandir

install:
	./mkboot boot rzboot bootrz
	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 rzboot ${DESTDIR}/usr/mdec
	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 bootrz ${DESTDIR}/usr/mdec

depend: ${SRCS}
	mkdep ${INCPATH} ${DEFS} ${SRCS}
	mkdep -a -p ${INCPATH} ${DEFS} mkboot.c mkboottape.c
	cd libsa; make depend

.include <bsd.dep.mk>
.include <bsd.obj.mk>