forked from nornagon/jonesforth
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
50 lines (35 loc) · 1.15 KB
/
Makefile
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
# $Id: Makefile,v 1.9 2007-10-22 18:53:12 rich Exp $
#BUILD_ID_NONE := -Wl,--build-id=none
BUILD_ID_NONE :=
SHELL := /bin/bash
all: jonesforth
jonesforth: jonesforth.S
gcc -m32 -nostdlib -static -Wl,-Ttext,0 $(BUILD_ID_NONE) -o $@ $<
run:
cat jonesforth.f $(PROG) - | ./jonesforth
clean:
rm -f jonesforth perf_dupdrop *~ core .test_*
# Tests.
TESTS := $(patsubst %.f,%.test,$(wildcard test_*.f))
test check: $(TESTS)
test_%.test: test_%.f jonesforth
@echo -n "$< ... "
@rm -f .$@
@cat <(echo ': TEST-MODE ;') jonesforth.f $< <(echo 'TEST') | \
./jonesforth 2>&1 | \
sed 's/DSP=[0-9]*//g' > .$@
@diff -u .$@ $<.out
@rm -f .$@
@echo "ok"
# Performance.
perf_dupdrop: perf_dupdrop.c
gcc -O3 -Wall -Werror -o $@ $<
run_perf_dupdrop: jonesforth
cat <(echo ': TEST-MODE ;') jonesforth.f perf_dupdrop.f | ./jonesforth
.SUFFIXES: .f .test
.PHONY: test check run run_perf_dupdrop
remote:
scp jonesforth.S jonesforth.f rjones@oirase:Desktop/
ssh rjones@oirase sh -c '"rm -f Desktop/jonesforth; \
gcc -m32 -nostdlib -static -Wl,-Ttext,0 -o Desktop/jonesforth Desktop/jonesforth.S; \
cat Desktop/jonesforth.f - | Desktop/jonesforth arg1 arg2 arg3"'