aboutsummaryrefslogtreecommitdiff
path: root/default.do
blob: 6e9c8e583369bd60c6ded6ced34e455ac776d602 (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
#!/bin/sh
set -eu

case "$1" in
  *.o)
    test "$1" = "main.o" && redo-ifchange asm.peg.inc
    redo-ifchange "${1%.o}.c" minias.h
    set -x
    ${CC:- cc} ${CFLAGS:- -g -Og} -c -o "$3" "${1%.o}.c"
  ;;
  asm.peg.inc)
    redo-ifchange asm.peg
    set -x
    leg asm.peg > "$3"
  ;;
  minias)
    obj="main.o util.o "
    redo-ifchange $obj
    set -x
    ${CC:- cc} ${LDFLAGS:-} -o "$3" $obj
  ;;
  all)
    redo-ifchange minias
  ;;
  check)
    redo-ifchange minias
    sh ./test/test.sh >&2
  ;;
  fmt)
    set -x
    clang-format -i main.c util.c >&2
  ;;
  *)
    echo "don't know how to do $1" 2>&1
    exit 1
  ;;
esac