aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: bdb39e9c393ffc69305d53d5c6dc86613fbfb425 (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
27
28
29
30
31
RUSTC = rustc

MAIN_SOURCE = src/term.rs
OTHER_SOURCES = src/ios.rs src/info.rs
TESTS = bin/termios

all: build tests

build: lib/built

tests: $(TESTS)

bin/%: test/%.rs
	@mkdir -p bin
	$(RUSTC) --out-dir bin -L lib $<

lib/built: $(MAIN_SOURCE) $(OTHER_SOURCES) tmp/libtermios_wrapper.a
	@mkdir -p lib
	$(RUSTC) --out-dir lib -L tmp $(MAIN_SOURCE) && touch tmp/built

tmp/libtermios_wrapper.a: tmp/termios_wrapper.o
	ar cr tmp/libtermios_wrapper.a tmp/termios_wrapper.o

tmp/termios_wrapper.o: src/termios_wrapper.c
	@mkdir -p tmp
	cc -fPIC -c -o $@ $<

clean:
	-@rm -rf lib/ bin/ tmp/

.PHONY: all clean build tests default