summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile17
-rw-r--r--src/untls.go3
3 files changed, 15 insertions, 6 deletions
diff --git a/.gitignore b/.gitignore
index 75d542a..f4905f3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
/*.bin
+/src/version.go
/src/*.a
/src/*.bin
/tests/*.a
diff --git a/Makefile b/Makefile
index ce05075..781f52e 100644
--- a/Makefile
+++ b/Makefile
@@ -38,10 +38,12 @@ objects = \
sources = \
src/$(NAME).go \
+ src/version.go \
src/main.go \
derived-assets = \
+ src/version.go \
$(objects) \
src/main.bin \
tests/main.bin \
@@ -60,23 +62,28 @@ all: $(derived-assets)
$(objects): Makefile
-src/$(NAME).a: src/$(NAME).go
+src/$(NAME).a: src/$(NAME).go src/version.go
+ go tool compile $(GOCFLAGS) -o $@ -p $(*F) -I $(@D) $*.go src/version.go
+
src/main.a: src/main.go src/$(NAME).a
tests/main.a: tests/main.go tests/$(NAME).a
-src/$(NAME).a src/main.a tests/main.a:
+src/main.a tests/main.a:
go tool compile $(GOCFLAGS) -o $@ -p $(*F) -I $(@D) $*.go
-tests/$(NAME).a: tests/$(NAME).go src/$(NAME).go
- go tool compile $(GOCFLAGS) -o $@ -p $(*F) $*.go src/$(*F).go
+tests/$(NAME).a: tests/$(NAME).go src/$(NAME).go src/version.go
+ go tool compile $(GOCFLAGS) -o $@ -p $(*F) $*.go src/$(*F).go src/version.go
src/main.bin: src/main.a
tests/main.bin: tests/main.a
src/main.bin tests/main.bin:
- go tool link $(GOLDFLAGS) -o $@ -L $(@D) $*.a
+ go tool link $(GOLDFLAGS) -o $@ -L $(@D) --extldflags '$(LDLIBS)' $*.a
$(NAME).bin: src/main.bin
ln -fs $? $@
+src/version.go: Makefile
+ echo 'package $(NAME); var version = "$(VERSION)"' > $@
+
tests.bin-check = \
diff --git a/src/untls.go b/src/untls.go
index 545ee2e..e61f2e9 100644
--- a/src/untls.go
+++ b/src/untls.go
@@ -4,6 +4,7 @@ import (
"crypto/tls"
"fmt"
"io"
+ "log/slog"
"net"
"os"
@@ -105,7 +106,7 @@ func start(toAddr string, listener net.Listener) {
func Main() {
- g.Init()
+ g.Init(slog.Group("versions", "gobang", g.Version, "this", version))
args := parseArgs(os.Args)
listener := listen(args.certFile, args.keyFile, args.fromAddr)
start(args.toAddr, listener)