xref: /inferno-os/os/js/mkfile (revision 74a4d8c26dd3c1e9febcb717cfd6cb6512991a7a)
1SYSTARG=Inferno
2OBJTYPE=sparc
3<../../mkconfig
4
5#Configurable parameters
6
7CONF=js			#default configuration
8CONFLIST=js
9
10SYSTARG=$OSTARG
11OBJTYPE=sparc
12INSTALLDIR=$ROOT/Inferno/$OBJTYPE/bin	#path of directory where kernel is installed
13
14#end configurable parameters
15
16<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE	#set vars based on target system
17
18<| $SHELLNAME ../port/mkdevlist $CONF	#sets $IP, $DEVS, $ETHERS, $VGAS, $PORT, $MISC, $LIBS, $OTHERS
19
20OBJ=\
21	l.$O\
22	clock.$O\
23	main.$O\
24	mmu.$O\
25	fsv.$O\
26	screen.$O\
27	trap.$O\
28	rom.$O\
29	iob.$O\
30	superio.$O\
31	kbd.$O\
32	$CONF.root.$O\
33	$IP\
34	$DEVS\
35	$ETHERS\
36	$LINKS\
37	$VGAS\
38	$PORT\
39	$MISC\
40	$OTHERS\
41
42LIBNAMES=${LIBS:%=lib%.a}
43#LIBDIRS=$LIBS
44
45HFILES=\
46	mem.h\
47	dat.h\
48	fns.h\
49	io.h\
50	audio.h\
51	cs4231.h\
52	ns16552.h\
53	rom.h\
54	screen.h\
55	softcursor.h\
56	ureg.h\
57
58CFLAGS=-wFV -I$ROOT/Inferno/$OBJTYPE/include -I$ROOT/include -I$ROOT/libinterp
59KERNDATE=`{$NDATE}
60
61default:V: i$CONF
62
63i$CONF: $OBJ $CONF.c $CONF.root.h $LIBNAMES
64	$CC $CFLAGS '-DKERNDATE='$KERNDATE $CONF.c
65	$LD -M -o $target -H3 -T0xE0004000 -R0x4 -l $OBJ $CONF.$O $LIBFILES
66
67# "raw" version of kernel for binary comparison testing
68i$CONF.raw: $OBJ $CONF.c $CONF.root.h $LIBNAMES
69	$CC $CFLAGS '-DKERNDATE='0 $CONF.c
70	$LD -s -M -o $target -H3 -T0xE0004000 -R0x4 -l $OBJ $CONF.$O $LIBFILES
71
72install:V: $INSTALLDIR/i$CONF $INSTALLDIR/i$CONF.raw
73
74<../port/portmkfile
75
76%.$O:	io.h
77clock.$O main.$O trap.$O: $ROOT/Inferno/$OBJTYPE/include/ureg.h
78