summaryrefslogtreecommitdiff
path: root/euler/makefile
blob: 62716f66e46ad666f3dae1ad23523ed47f1d40bc (plain) (blame)
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
LIBC_SOURCES = \
  entry.cpp std/string.cpp std/cstring.cpp syscall.cpp std/cstdlib.cpp \
  heap.cpp syscall.asm std/cctype.cpp std/cstdio.cpp stream.cpp

clean:
	rm -rf build

build/%.asm.o: source/%.asm
	@mkdir -p $(@D)
	$(HILBERT_NASM) $^ -o $@

build/%.cpp.o: source/%.cpp
	@mkdir -p $(@D)
	$(HILBERT_CC) -ffreestanding -c $^ -o $@

build/crt0.o: build/empty.asm.o
	cp $^ $@

build/libc.a: ${LIBC_SOURCES:%=build/%.o}
	$(HILBERT_AR) rcs $@ $^

build/libg.a: build/empty.asm.o
	$(HILBERT_AR) rcs $@ $^

build/libm.a: build/empty.asm.o
	$(HILBERT_AR) rcs $@ $^