gen/
.clang-format
570 B
.gitignore
30 B
.gitsigners
112 B
LICENSE
1.1 KiB
Makefile
911 B
README
1.8 KiB
ast.c
5.0 KiB
ast.h
15.1 KiB
desugar.c
23.1 KiB
desugar.h
286 B
gen.c
108.5 KiB
gen.h
4.9 KiB
io.c
1.1 KiB
io.h
444 B
limits.h
1.3 KiB
module.c
10.0 KiB
module.h
2.2 KiB
options.c
1.4 KiB
options.h
472 B
parser.c
68.3 KiB
parser.h
942 B
radiance.c
3.7 KiB
ralloc.c
2.0 KiB
ralloc.h
1.1 KiB
resolver.c
109.7 KiB
resolver.h
5.6 KiB
riscv.c
12.0 KiB
riscv.h
12.0 KiB
scanner.c
10.2 KiB
scanner.h
3.2 KiB
strings.c
2.6 KiB
strings.h
407 B
symtab.c
5.7 KiB
symtab.h
4.6 KiB
types.h
1.0 KiB
util.h
1.5 KiB
Makefile
raw
| 1 | # Builds the C bootstrap compiler. |
| 2 | |
| 3 | CC := clang |
| 4 | CFLAGS := -fvisibility=hidden -std=c99 -Os \ |
| 5 | -Wall -Wextra -Wpedantic \ |
| 6 | -Wformat=2 -Wformat-security \ |
| 7 | -Wnull-dereference \ |
| 8 | -Wno-format-nonliteral \ |
| 9 | -Wcast-align \ |
| 10 | -Wunused -Wuninitialized \ |
| 11 | -Wmissing-field-initializers \ |
| 12 | -fno-common -fstack-protector-all \ |
| 13 | -mcmodel=medium |
| 14 | LDFLAGS := -fuse-ld=lld -Wl,-z,stack-size=33554432 |
| 15 | |
| 16 | SRC := $(wildcard *.c) $(wildcard gen/*.c) |
| 17 | HDR := $(wildcard *.h) $(wildcard gen/*.h) |
| 18 | OBJ := $(SRC:.c=.o) |
| 19 | BIN := bin/radiance.s0 |
| 20 | |
| 21 | default: $(BIN) |
| 22 | |
| 23 | $(BIN): $(OBJ) |
| 24 | @echo "ld $^ => $@" |
| 25 | @mkdir -p bin |
| 26 | @$(CC) $(LDFLAGS) $(OBJ) -o $@ |
| 27 | @echo "ok $@" |
| 28 | |
| 29 | %.o: %.c $(HDR) |
| 30 | @echo "cc $< => $@" |
| 31 | @$(CC) $(CFLAGS) -c $< -o $@ |
| 32 | |
| 33 | clean: |
| 34 | @rm -f $(OBJ) $(BIN) |
| 35 | |
| 36 | fmt: |
| 37 | git ls-files "*.c" "*.h" | xargs clang-format -i |
| 38 | |
| 39 | .PHONY: default clean fmt |