libipc/makefile

72 lines
2.0 KiB
Makefile

all: build
help:
@echo "usage: make [build|install|doc|serve-doc]"
ZIGOPTS ?=
ZIGOPTIM ?= ReleaseSafe
-include makefile.target
build:
zig build -Doptimize=$(ZIGOPTIM) $(ZIGOPTS) $(TARGET_OPTION)
PREFIX ?= /usr/local
LIBDIR ?= $(PREFIX)/lib
INCLUDEDIR ?= $(PREFIX)/include
PKGCONFIGDIR ?= /usr/share/pkgconfig
$(PKGCONFIGDIR):; install -m 0755 -d $(PKGCONFIGDIR)
$(PKGCONFIGDIR)/ipc.pc: ipc.pc; install -m 0644 ipc.pc $(PKGCONFIGDIR)
install-pkgconfig: $(PKGCONFIGDIR) $(PKGCONFIGDIR)/ipc.pc
$(LIBDIR):; install -m 0755 -d $(LIBDIR)
$(LIBDIR)/libipc.a: zig-out/lib/libipc.a; install -m 0644 zig-out/lib/libipc.a $(LIBDIR)
$(LIBDIR)/libipc.so: zig-out/lib/libipc.so; install -m 0644 zig-out/lib/libipc.so $(LIBDIR)
install-library: $(LIBDIR) $(LIBDIR)/libipc.a $(LIBDIR)/libipc.so
$(INCLUDEDIR):; install -m 0755 -d $(INCLUDEDIR)
$(INCLUDEDIR)/libipc.h: libipc.h; install -m 0644 libipc.h $(INCLUDEDIR)
install-header: $(INCLUDEDIR) $(INCLUDEDIR)/libipc.h
install: install-pkgconfig install-library install-header
@echo "Now that you have installed the library, you should (probably) run ldconfig."
uninstall-library:; rm $(LIBDIR)/libipc.a $(LIBDIR)/libipc.so*
uninstall-header:; rm $(INCLUDEDIR)/libipc.h
uninstall-pkgconfig:; rm $(PKGCONFIGDIR)/ipc.pc
uninstall: uninstall-pkgconfig uninstall-library uninstall-header
mrproper:
rm -r docs zig-cache zig-out 2>/dev/null || true
doc:
zig build-lib -femit-docs src/main.zig
DOC_HTTPD_ACCESS_LOGS ?= /tmp/access.log
DOC_HTTPD_ADDR ?= 127.0.0.1
DOC_HTTPD_PORT ?= 35000
serve-doc:
darkhttpd docs/ --addr $(DOC_HTTPD_ADDR) --port $(DOC_HTTPD_PORT) --log $(DOC_HTTPD_ACCESS_LOGS)
PACKAGE ?= libipc
VERSION ?= 0.2.0
PKG = $(PACKAGE)-$(VERSION)
$(PKG).tar.gz: dist-dir
tar zcf $@ \
$(PKG)/src \
$(PKG)/build.zig* \
$(PKG)/libipc.h \
$(PKG)/ipc.pc \
$(PKG)/makefile* \
$(PKG)/README* \
$(PKG)/TODO*
$(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