aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile73
1 files changed, 48 insertions, 25 deletions
diff --git a/Makefile b/Makefile
index 482423a..59e9f25 100644
--- a/Makefile
+++ b/Makefile
@@ -65,29 +65,44 @@ existing = \
src/urubu/tester \
xtests = \
- tests/unit/compressor \
- tests/unit/grammar/symbol \
- tests/unit/spec/test \
- tests/unit/utf8 \
- tests/unit/spec/grammar/parser \
- tests/unit/grammar \
- tests/unit/tester \
- tests/unit/grammar/lexical/dfa \
- tests/unit/grammar/lexical/parser \
- tests/unit/grammar/lexical \
- tests/unit/driver/lexer \
- tests/unit/driver/parser \
+ tests/unit/compressor/compressor.go \
+ tests/unit/grammar/symbol/symbol.go \
+ tests/unit/spec/test/test.go \
+ tests/unit/utf8/utf8.go \
+ tests/unit/spec/grammar/parser/parser.go \
+ tests/unit/grammar/grammar.go \
+ tests/unit/tester/tester.go \
+ tests/unit/grammar/lexical/dfa/dfa.go \
+ tests/unit/grammar/lexical/parser/parser.go \
+ tests/unit/grammar/lexical/lexical.go \
+ tests/unit/driver/lexer/lexer.go \
+ tests/unit/driver/parser/parser.go \
xmains = \
src/urubu/cmd/ucdgen \
src/urubu/cmd/vartan \
src/urubu/cmd/vartan-go \
-existing.a = $(existing:=.a)
-xmains.a = $(xmains:=.a)
-xtests.a = $(xtests:=.a)
-xmains.bin = $(xmains:=.bin)
-_xtests.bin = $(xtests:=.bin)
+xtmains = \
+ tests/unit/compressor/main.go \
+ tests/unit/grammar/symbol/main.go \
+ tests/unit/spec/test/main.go \
+ tests/unit/tester/main.go \
+ tests/unit/utf8/main.go \
+ tests/unit/spec/grammar/parser/main.go \
+ tests/unit/grammar/main.go \
+ tests/unit/grammar/lexical/dfa/main.go \
+ tests/unit/grammar/lexical/parser/main.go \
+ tests/unit/grammar/lexical/main.go \
+ tests/unit/driver/lexer/main.go \
+ tests/unit/driver/parser/main.go \
+
+existing.a = $(existing:=.a)
+xmains.a = $(xmains:=.a)
+xmains.bin = $(xmains:=.bin)
+xtests.a = $(xtests:.go=.a)
+xtmains.a = $(xtmains:.go=.a)
+xtmains.bin = $(xtmains:.go=.bin)
sources = \
@@ -97,16 +112,17 @@ sources = \
derived-assets = \
+ $(xtests.a) \
+ $(xtmains.a) \
+ $(xtmains.bin) \
+ $(existing.a) \
+ $(xmains.a) \
+ $(xmains.bin) \
src/version.go \
$(libs.a) \
$(mains.a) \
$(mains.bin) \
$(NAME).bin \
- $(existing.a) \
- $(xmains.a) \
- $(xmains.bin) \
- $(xtests.a) \
- $(xtest.bin) \
side-assets = \
tests/fuzz/corpus/ \
@@ -128,15 +144,21 @@ $(existing.a):
go tool compile -I src -o $@ -p `echo $* | sed 's,^src/,,'` $*.go
$(xtests.a):
- p="`echo $* | sed 's,^tests/unit/,urubu/,'`"; \
- go tool compile -I src -o $@ -p $$p src/$$p.go $*.go
+ p="`echo $(*D) | sed 's,^tests/unit/,,'`"; \
+ go tool compile -I src -o $@ -p $(*F) src/urubu/$$p.go $*.go
$(xmains.a):
go tool compile -I src -o $@ -p main $*/*.go
-$(xmains.bin) $(xtests.bin):
+$(xmains.bin):
go tool link -L src -o $@ --extldflags '$(LDLIBS)' $*.a
+$(xtmains.a):
+ go tool compile -I $(@D) -o $@ -p main $*.go
+
+$(xtmains.bin):
+ go tool link -L $(@D) -L src -o $@ --extldflags '$(LDLIBS)' $*.a
+
$(fuzz-targets/lib.a):
go tool compile $(GOCFLAGS) -o $@ -p $(NAME) -d=libfuzzer \
$*.go src/$(NAME).go src/version.go
@@ -152,6 +174,7 @@ $(NAME).bin: src/main.bin
tests.bin-check = \
tests/main.bin-check \
$(functional-tests/main.go:.go=.bin-check) \
+ $(xtmains:.go=.bin-check) \
$(tests.bin-check):
$(EXEC)$*.bin