82 lines
2.3 KiB
Makefile
82 lines
2.3 KiB
Makefile
all: build
|
|
|
|
help:
|
|
@echo "usage: make [build|install|doc|serve-doc]"
|
|
|
|
ZIGOPTS ?=
|
|
ZIGOPTIM ?= ReleaseSafe
|
|
|
|
-include makefile.target
|
|
|
|
# Build both the application and the library (static & dynamic).
|
|
build:
|
|
zig build -Doptimize=$(ZIGOPTIM) $(ZIGOPTS) $(TARGET_OPTION)
|
|
|
|
PREFIX ?= /usr/local
|
|
BINDIR ?= $(PREFIX)/bin
|
|
LIBDIR ?= $(PREFIX)/lib
|
|
INCLUDEDIR ?= $(PREFIX)/include
|
|
PKGCONFIGDIR ?= /usr/share/pkgconfig
|
|
|
|
$(PKGCONFIGDIR):; install -m 0755 -d $(PKGCONFIGDIR)
|
|
$(PKGCONFIGDIR)/hexa.pc: hexa.pc; install -m 0644 hexa.pc $(PKGCONFIGDIR)
|
|
install-pkgconfig: $(PKGCONFIGDIR) $(PKGCONFIGDIR)/hexa.pc
|
|
|
|
$(LIBDIR):; install -m 0755 -d $(LIBDIR)
|
|
$(LIBDIR)/libhexa.a: zig-out/lib/libhexa.a; install -m 0644 zig-out/lib/libhexa.a $(LIBDIR)
|
|
$(LIBDIR)/libhexa.so: zig-out/lib/libhexa.so; install -m 0644 zig-out/lib/libhexa.so $(LIBDIR)
|
|
install-library: $(LIBDIR) $(LIBDIR)/libhexa.a $(LIBDIR)/libhexa.so
|
|
|
|
$(INCLUDEDIR):; install -m 0755 -d $(INCLUDEDIR)
|
|
$(INCLUDEDIR)/libhexa.h: libhexa.h; install -m 0644 libhexa.h $(INCLUDEDIR)
|
|
install-header: $(INCLUDEDIR) $(INCLUDEDIR)/libhexa.h
|
|
|
|
$(BINDIR):; install -m 0755 -d $(BINDIR)
|
|
$(BINDIR)/hexa: zig-out/bin/hexa; install -m 0755 zig-out/bin/hexa $(BINDIR)
|
|
install-bin: $(BINDIR) $(BINDIR)/hexa
|
|
|
|
install: install-bin install-pkgconfig install-library install-header
|
|
@echo "Now that you have installed the library, you should (probably) run ldconfig."
|
|
|
|
uninstall-library:
|
|
rm $(LIBDIR)/libhexa.a \
|
|
$(LIBDIR)/libhexa.so \
|
|
$(LIBDIR)/libhexa.so.*
|
|
uninstall-header:
|
|
rm $(INCLUDEDIR)/libhexa.h
|
|
uninstall-bin:
|
|
rm $(BINDIR)/hexa
|
|
uninstall: uninstall-library uninstall-header uninstall-bin
|
|
|
|
mrproper:
|
|
rm -r docs zig-cache zig-out 2>/dev/null || true
|
|
|
|
doc:
|
|
zig build-lib -femit-docs src/application.zig src/bindings.zig src/libhexa.zig
|
|
|
|
DOC_HTTPD_ACCESS_LOGS ?= /tmp/access-libhexa.log
|
|
DOC_HTTPD_ADDR ?= 127.0.0.1
|
|
DOC_HTTPD_PORT ?= 35002
|
|
serve-doc:
|
|
darkhttpd docs/ --addr $(DOC_HTTPD_ADDR) --port $(DOC_HTTPD_PORT) --log $(DOC_HTTPD_ACCESS_LOGS)
|
|
|
|
PACKAGE ?= libhexa
|
|
VERSION ?= 0.1.0
|
|
PKG = $(PACKAGE)-$(VERSION)
|
|
|
|
$(PKG).tar.gz: dist-dir
|
|
tar zcf $@ \
|
|
$(PKG)/src \
|
|
$(PKG)/build.zig* \
|
|
$(PKG)/libhexa.h \
|
|
$(PKG)/hexa.pc \
|
|
$(PKG)/makefile*
|
|
$(PKG):; ln -s . $(PKG)
|
|
dist-dir: $(PKG)
|
|
dist-rm-dir:; rm $(PKG)
|
|
dist-gz: $(PKG).tar.gz
|
|
dist: dist-gz dist-rm-dir
|
|
|
|
# You can add your specific instructions there.
|
|
-include makefile.user
|