-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathmkfile
More file actions
59 lines (40 loc) · 1.54 KB
/
mkfile
File metadata and controls
59 lines (40 loc) · 1.54 KB
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
COMMON=`{cd scas/common; walk -f | sed 's/\.c/.'^$O^'/g'} z80.$O arm64.$O amd64.$O
ASSEMBLER=`{cd scas/assembler ; walk -f | sed 's/\.c/.'^$O^'/g'}
LINKER=`{cd scas/linker ; walk -f | sed 's/\.c/.'^$O^'/g'}
TARG=$TARG scas scdump scwrap tablegen
%.$O: scas/common/%.c
$CC $CFLAGS $prereq
%.$O: scas/linker/%.c
$CC $CFLAGS $prereq
%.$O: scas/assembler/%.c
$CC $CFLAGS $prereq
%.$O: scas/%.c
$CC $CFLAGS $prereq
$O.scas: $ASSEMBLER $LINKER $COMMON scas.$O
$LD -o $target $LDFLAGS $prereq
$O.scwrap: $COMMON scwrap.$O
$LD -o $target $LDFLAGS $prereq
$O.scdump: $COMMON scdump.$O
$LD -o $target $LDFLAGS $prereq
/$objtype/lib/knightos/libscas.a$O: libscas.a$O
mkdir -p /$objtype/lib/knightos
cp $prereq $target
libscas.a$O: $COMMON
ar ruv $target $prereq
/sys/lib/knightos/scas/%.tab: tables/%.tab
mkdir -p `{basename -d $target}
cp $prereq $target
instructions.$O: z80.h amd64.h arm64.h
$CC $CFLAGS scas/common/instructions.c
z80.c z80.h: $O.tablegen scas/tables/z80.tab
./$O.tablegen z80 scas/tables/z80.tab z80.c z80.h
amd64.c amd64.h: $O.tablegen scas/tables/amd64.tab
./$O.tablegen amd64 scas/tables/amd64.tab amd64.c amd64.h
arm64.c arm64.h: $O.tablegen scas/tables/arm64.tab
./$O.tablegen arm64 scas/tables/arm64.tab arm64.c arm64.h
tablegen.$O: scas/tables/generate.c
pcc $prereq -B -c -o $target
$O.tablegen: tablegen.$O
pcc $prereq -o $target
CLEANFILES=$CLEANFILES scas/assembler/*.[$OS] scas/common/*.[$OS] scas/linker/*.[$OS] scas/*.[$OS] z80.c z80.h amd64.c amd64.h arm64.c arm64.h
install:V: /$objtype/lib/knightos/libscas.a$O