aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-12-02 15:41:30 -0300
committerEuAndreh <eu@euandre.org>2024-12-02 15:41:30 -0300
commitab1ad9eecffed26c4aa3d6fd346d7b06e9eadbb1 (patch)
tree8e15b7188b153d8f85be7120f5370249286b6f17 /Makefile
parentSetup Makefile project structure with empty src/urubu.go source (diff)
downloadurubu-ab1ad9eecffed26c4aa3d6fd346d7b06e9eadbb1.tar.gz
urubu-ab1ad9eecffed26c4aa3d6fd346d7b06e9eadbb1.tar.xz
Build and test existing code as is
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile40
1 files changed, 40 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 11096d1..b5643ed 100644
--- a/Makefile
+++ b/Makefile
@@ -47,6 +47,33 @@ functional-tests/lib.a = $(functional-tests/lib.go:.go=.a)
fuzz-targets/lib.a = $(fuzz-targets/lib.go:.go=.a)
benchmarks/lib.a = $(benchmarks/lib.go:.go=.a)
+existing = \
+ utf8 \
+ ucd \
+ error \
+ compressor \
+ spec/grammar \
+ spec/grammar/parser \
+ spec/test \
+ grammar/symbol \
+ grammar/lexical/parser \
+ grammar/lexical/dfa \
+ grammar/lexical \
+ grammar \
+ driver/lexer \
+ driver/parser \
+ tester \
+
+xmains = \
+ cmd/ucdgen \
+ cmd/vartan \
+ cmd/vartan-go \
+
+existing.a = $(existing:=.a)
+xmains.a = $(xmains:=.a)
+xmains.bin = $(xmains:=.bin)
+
+
sources = \
src/$(NAME).go \
src/version.go \
@@ -59,6 +86,9 @@ derived-assets = \
$(mains.a) \
$(mains.bin) \
$(NAME).bin \
+ $(existing.a) \
+ $(xmains.a) \
+ $(xmains.bin) \
side-assets = \
tests/fuzz/corpus/ \
@@ -71,10 +101,20 @@ side-assets = \
all: $(derived-assets)
+$(existing.a) $(xmains.a): Makefile deps.mk
$(libs.a): Makefile deps.mk
$(libs.a): src/$(NAME).go src/version.go
+$(existing.a):
+ go tool compile -I . -o $@ -p $* $*/*.go
+
+$(xmains.a):
+ go tool compile -I . -o $@ -p main $*/*.go
+
+$(xmains.bin):
+ go tool link -L . -o $@ --extldflags '$(LDLIBS)' $*.a
+
$(fuzz-targets/lib.a):
go tool compile $(GOCFLAGS) -o $@ -p $(NAME) -d=libfuzzer \
$*.go src/$(NAME).go src/version.go