summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2025-05-15 04:32:50 -0300
committerEuAndreh <eu@euandre.org>2025-05-15 04:32:50 -0300
commit87beb9a92b61a2210523b30b2e3305efc7c6911f (patch)
tree6f3b7af0ad4897e1341b6efb5933676cddab6c87
parentRevamp i18n: use gotext (diff)
downloaduuid-87beb9a92b61a2210523b30b2e3305efc7c6911f.tar.gz
uuid-87beb9a92b61a2210523b30b2e3305efc7c6911f.tar.xz
Makefile: Simplify variable names and use instool(1)
-rw-r--r--Makefile40
-rw-r--r--deps.mk10
-rwxr-xr-xmkdeps.sh19
3 files changed, 37 insertions, 32 deletions
diff --git a/Makefile b/Makefile
index 974b992..55c499f 100644
--- a/Makefile
+++ b/Makefile
@@ -37,7 +37,7 @@ GOLDFLAGS = -L $(GOLIBDIR)
asciidoctor -b manpage -o $@ $<
.po.mo:
- msgfmt -c -o $@ $<
+ msgfmt -cfv -o $@ $<
@@ -45,15 +45,15 @@ all:
include deps.mk
-libs.a = $(libs.go:.go=.a)
-mains.a = $(mains.go:.go=.a)
-mains.bin = $(mains.go:.go=.bin)
-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)
-manpages.N.adoc = $(manpages.en.N.adoc) $(manpages.xx.N.adoc)
-manpages.N = $(manpages.N.adoc:.adoc=)
-sources.mo = $(sources.po:.po=.mo)
+libs.a = $(libs.go:.go=.a)
+mains.a = $(mains.go:.go=.a)
+mains.bin = $(mains.go:.go=.bin)
+functional/lib.a = $(functional/lib.go:.go=.a)
+fuzz/lib.a = $(fuzz/lib.go:.go=.a)
+benchmarks/lib.a = $(benchmarks/lib.go:.go=.a)
+manpages.N.adoc = $(manpages.en.N.adoc) $(manpages.XX.N.adoc)
+manpages.N = $(manpages.N.adoc:.adoc=)
+sources.mo = $(sources.po:.po=.mo)
sources = \
src/$(NAME).go \
@@ -67,7 +67,7 @@ derived-assets = \
$(mains.a) \
$(mains.bin) \
$(NAME).bin \
- $(manpages.xx.N.adoc) \
+ $(manpages.XX.N.adoc) \
$(manpages.N) \
$(sources.mo) \
@@ -86,7 +86,7 @@ $(libs.a): Makefile deps.mk
$(libs.a): src/$(NAME).go src/meta.go
-$(fuzz-targets/lib.a):
+$(fuzz/lib.a):
go tool compile $(GOCFLAGS) -o $@ -p $(NAME) -d=libfuzzer \
$*.go src/$(NAME).go src/meta.go
@@ -99,14 +99,14 @@ src/meta.go: Makefile
$(NAME).bin: src/main.bin
ln -fs src/main.bin $@
-$(manpages.xx.N.adoc): po/doc/po4a.cfg
+$(manpages.XX.N.adoc): po/doc/po4a.cfg
po4a --no-update --translate-only $@ po/doc/po4a.cfg
tests.bin-check = \
tests/main.bin-check \
- $(functional-tests/main.go:.go=.bin-check) \
+ $(functional/main.go:.go=.bin-check) \
$(tests.bin-check):
$(EXEC)$*.bin
@@ -135,12 +135,12 @@ check: check-unit check-integration
FUZZSEC=1
-fuzz-targets/main.bin-check = $(fuzz-targets/main.go:.go=.bin-check)
-$(fuzz-targets/main.bin-check):
+fuzz/main.bin-check = $(fuzz/main.go:.go=.bin-check)
+$(fuzz/main.bin-check):
$(EXEC)$*.bin --test.fuzztime=$(FUZZSEC)s \
--test.fuzz='.*' --test.fuzzcachedir=tests/fuzz/corpus
-fuzz: $(fuzz-targets/main.bin-check)
+fuzz: $(fuzz/main.bin-check)
@@ -182,7 +182,8 @@ install: all
cp $(NAME).bin '$(DESTDIR)$(BINDIR)'/$(NAME)
cp src/$(NAME).a '$(DESTDIR)$(GOLIBDIR)'
cp $(sources) '$(DESTDIR)$(SRCDIR)'
- mandir install '$(DESTDIR)$(MANDIR)' $(manpages.N)
+ instool '$(DESTDIR)$(MANDIR)' install man $(manpages.N)
+ instool '$(DESTDIR)$(LOCALEDIR)' install mo $(sources.mo)
## Uninstalls from $(DESTDIR)$(PREFIX). This is a perfect mirror
## of the "install" target, and removes *all* that was installed.
@@ -193,7 +194,8 @@ uninstall:
'$(DESTDIR)$(GOLIBDIR)'/$(NAME).a \
'$(DESTDIR)$(SRCDIR)' \
- mandir uninstall '$(DESTDIR)$(MANDIR)' $(manpages.N)
+ instool '$(DESTDIR)$(MANDIR)' uninstall man $(manpages.N)
+ instool '$(DESTDIR)$(LOCALEDIR)' uninstall mo $(sources.mo)
diff --git a/deps.mk b/deps.mk
index b6bcb65..f593d1e 100644
--- a/deps.mk
+++ b/deps.mk
@@ -27,7 +27,7 @@ manpages.en.N.adoc = \
doc/uuid.en.7tutorial.adoc \
doc/uuid.en.7why.adoc \
-manpages.xx.N.adoc = \
+manpages.XX.N.adoc = \
doc/uuid.de.0.adoc \
doc/uuid.de.1.adoc \
doc/uuid.de.3.adoc \
@@ -81,18 +81,18 @@ sources.po = \
po/uuid/fr.po \
po/uuid/pt.po \
-functional-tests/lib.go = \
+functional/lib.go = \
tests/functional/string-round-trip/uuid.go \
-functional-tests/main.go = \
+functional/main.go = \
tests/functional/string-round-trip/main.go \
-fuzz-targets/lib.go = \
+fuzz/lib.go = \
tests/fuzz/from-string/uuid.go \
tests/fuzz/new-v4-from/uuid.go \
tests/fuzz/new-v7-from/uuid.go \
-fuzz-targets/main.go = \
+fuzz/main.go = \
tests/fuzz/from-string/main.go \
tests/fuzz/new-v4-from/main.go \
tests/fuzz/new-v7-from/main.go \
diff --git a/mkdeps.sh b/mkdeps.sh
index 14e475c..ae6fffc 100755
--- a/mkdeps.sh
+++ b/mkdeps.sh
@@ -5,8 +5,10 @@ export LANG=POSIX.UTF-8
libs() {
- find src tests -name '*.go' | grep -v '/main\.go$' |
- grep -v '/meta\.go$'
+ find src tests -name '*.go' |
+ grep -Ev '/(main|meta)\.go$' |
+ grep -Ev '/_cgo_(import|gotypes)\.go$' |
+ grep -Ev '\.cgo1\.go$'
}
mains() {
@@ -24,19 +26,20 @@ xdocs() {
}
pos() {
- find po/ -name '*.po' | grep -v '^po/doc/'
+ find po/ -name '*.po' | grep -Ev '^po/(doc|tests)/'
}
+
libs | varlist 'libs.go'
mains | varlist 'mains.go'
docs | varlist 'manpages.en.N.adoc'
-xdocs | varlist 'manpages.xx.N.adoc'
+xdocs | varlist 'manpages.XX.N.adoc'
pos | varlist 'sources.po'
-find tests/functional/*/*.go -not -name main.go | varlist 'functional-tests/lib.go'
-find tests/functional/*/main.go | varlist 'functional-tests/main.go'
-find tests/fuzz/*/*.go -not -name main.go | varlist 'fuzz-targets/lib.go'
-find tests/fuzz/*/main.go | varlist 'fuzz-targets/main.go'
+find tests/functional/*/*.go -not -name main.go | varlist 'functional/lib.go'
+find tests/functional/*/main.go | varlist 'functional/main.go'
+find tests/fuzz/*/*.go -not -name main.go | varlist 'fuzz/lib.go'
+find tests/fuzz/*/main.go | varlist 'fuzz/main.go'
find tests/benchmarks/*/*.go -not -name main.go | varlist 'benchmarks/lib.go'
find tests/benchmarks/*/main.go | varlist 'benchmarks/main.go'