adding go wrapper
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-10-26 23:18:23 +09:00
parent f45aba56f2
commit 3b5a21a60a
34 changed files with 4103 additions and 5309 deletions

View File

@ -16,6 +16,49 @@ DIST_SUBDIRS = $(SUBDIRS)
distclean-local:
@rm -rf $(top_srcdir)/autom4te.cache
clean-local:
rm -rf $(builddir)/go.mod $(builddir)/go.sum
go clean -C $(srcdir) -x -modfile $(abs_builddir)/go.mod -cache
######################################################################
if ENABLE_HAWKGO
bin_PROGRAMS = hawkgo
hawkgo_SOURCES = \
hawk.go \
hawk-inst.go \
go.mod
hawkgo_DEPENDENCIES = hawkgo.bin
## let the linker to move hawkgo.bin to the actual target
hawkgo_LINK = cp -pf hawkgo.bin hawkgo$(EXEEXT) || echo "FAILED TO LINK"
if ENABLE_STATIC
CGO_CFLAGS_EXTRA="-static"
CGO_LDFLAGS_EXTRA="-static"
else
CGO_CFLAGS_EXTRA=""
CGO_LDFLAGS_EXTRA=""
endif
hawkgo.bin: lib/libhawk.la $(hawkgo_OBJECTS)
cp -pf $(srcdir)/go.mod $(builddir)/go.mod >/dev/null 2>&1 || true
chmod u+w $(builddir)/go.mod ## with `make distcheck`, the echo's redirection to the file fails without this permission change
[ -f $(srcdir)/go.sum ] && cp -pf $(srcdir)/go.sum $(builddir)/go.sum >/dev/null 2>&1 || true
## ---------------------------------------------------------------
CC=$(CC) \
CGO_CFLAGS="-I$(abs_srcdir)/lib -I$(abs_builddir)/lib $(CFLAGS) $(CGO_CFLAGS_EXTRA)" \
CGO_LDFLAGS="-L$(abs_builddir)/lib -L$(abs_builddir)/lib/.libs -lhawk -ldl $(LIBM) $(CGO_LDFLAGS_EXTRA)" \
go build -C $(srcdir) -ldflags "-X 'main.BINDIR=$(bindir)' -X 'main.SBINDIR=$(sbindir)' -X 'main.LIBDIR=$(libdir)' -X 'main.SYSCONFDIR=$(sysconfdir)'" -x -o $(abs_builddir)/hawkgo.bin -modfile $(abs_builddir)/go.mod
## ---------------------------------------------------------------
go clean -C $(srcdir) -x -modfile $(abs_builddir)/go.mod
# fake recipes to deceive make
.go.o:
echo $< > $@
.mod.o:
echo $< > $@
endif
######################################################################
rpm: dist-gzip