2020-09-20 16:17:39 +02:00
|
|
|
.POSIX:
|
|
|
|
.SUFFIXES:
|
|
|
|
OUTDIR=.build
|
2020-10-24 19:40:39 +02:00
|
|
|
VERSION=0.0.0
|
2020-09-20 16:17:39 +02:00
|
|
|
include $(OUTDIR)/config.mk
|
|
|
|
include $(OUTDIR)/cppcache
|
|
|
|
|
2020-09-20 20:51:25 +02:00
|
|
|
gmni: $(gmni_objects)
|
2020-09-20 16:17:39 +02:00
|
|
|
@printf 'CCLD\t$@\n'
|
2020-09-22 01:17:01 +02:00
|
|
|
@$(CC) $(LDFLAGS) -o $@ $(gmni_objects) $(LIBS)
|
2020-09-20 16:17:39 +02:00
|
|
|
|
2020-09-21 00:31:33 +02:00
|
|
|
gmnlm: $(gmnlm_objects)
|
|
|
|
@printf 'CCLD\t$@\n'
|
2020-09-21 15:17:47 +02:00
|
|
|
@$(CC) $(LDFLAGS) -o $@ $(gmnlm_objects) $(LIBS)
|
2020-09-21 00:31:33 +02:00
|
|
|
|
2020-10-24 19:40:39 +02:00
|
|
|
libgmni.a: $(libgmni.a_objects)
|
|
|
|
@printf 'AR\t$@\n'
|
|
|
|
@$(AR) -rcs $@ $(libgmni.a_objects)
|
|
|
|
|
2020-09-20 20:51:25 +02:00
|
|
|
doc/gmni.1: doc/gmni.scd
|
2020-09-21 04:37:44 +02:00
|
|
|
doc/gmnlm.1: doc/gmnlm.scd
|
2020-09-20 20:44:30 +02:00
|
|
|
|
2020-10-24 19:40:39 +02:00
|
|
|
libgmni.pc:
|
|
|
|
@printf 'GEN\t$@\n'
|
|
|
|
@printf 'prefix=%s\n' "$(PREFIX)" > $@
|
|
|
|
@printf 'exec_prefix=$${prefix}\n' >> $@
|
|
|
|
@printf 'includedir=$${prefix}/include\n' >> $@
|
|
|
|
@printf 'libdir=$${prefix}/lib\n' >> $@
|
|
|
|
@printf 'Name: libgmni\n' >> $@
|
|
|
|
@printf 'Version: %s\n' "$(VERSION)" >> $@
|
|
|
|
@printf 'Description: The gmni client library\n' >> $@
|
2021-09-21 16:13:54 +02:00
|
|
|
@printf 'Requires: libbearssl\n' >> $@
|
2020-10-24 19:40:39 +02:00
|
|
|
@printf 'Cflags: -I$${includedir}/gmni\n' >> $@
|
|
|
|
@printf 'Libs: -L$${libdir} -lgmni\n' >> $@
|
|
|
|
|
2020-09-20 20:44:30 +02:00
|
|
|
.SUFFIXES: .c .o .scd .1
|
2020-09-20 16:17:39 +02:00
|
|
|
|
|
|
|
.c.o:
|
|
|
|
@printf 'CC\t$@\n'
|
|
|
|
@touch $(OUTDIR)/cppcache
|
|
|
|
@grep $< $(OUTDIR)/cppcache >/dev/null || \
|
|
|
|
$(CPP) $(CFLAGS) -MM -MT $@ $< >> $(OUTDIR)/cppcache
|
2020-10-24 20:04:50 +02:00
|
|
|
@$(CC) -c $(CFLAGS) -o $@ $<
|
2020-09-20 16:17:39 +02:00
|
|
|
|
2020-09-20 20:44:30 +02:00
|
|
|
.scd.1:
|
|
|
|
@printf 'SCDOC\t$@\n'
|
|
|
|
@$(SCDOC) < $< > $@
|
|
|
|
|
2020-09-21 04:37:44 +02:00
|
|
|
docs: doc/gmni.1 doc/gmnlm.1
|
2020-09-20 20:44:30 +02:00
|
|
|
|
2020-09-20 16:17:39 +02:00
|
|
|
clean:
|
2020-10-24 19:40:39 +02:00
|
|
|
@rm -f gmni gmnlm libgmni.a libgmni.pc doc/gmni.1 doc/gmnlm.1 $(gmnlm_objects) $(gmni_objects)
|
2020-09-20 16:17:39 +02:00
|
|
|
|
|
|
|
distclean: clean
|
|
|
|
@rm -rf "$(OUTDIR)"
|
|
|
|
|
2020-11-04 09:08:43 +01:00
|
|
|
install: all install_docs
|
2020-09-20 20:55:33 +02:00
|
|
|
mkdir -p $(BINDIR)
|
2020-11-04 09:08:45 +01:00
|
|
|
mkdir -p $(LIBDIR)
|
|
|
|
mkdir -p $(INCLUDEDIR)/gmni
|
|
|
|
mkdir -p $(LIBDIR)/pkgconfig
|
|
|
|
install -m755 gmni $(BINDIR)/gmni
|
|
|
|
install -m755 gmnlm $(BINDIR)/gmnlm
|
2021-03-07 17:31:50 +01:00
|
|
|
install -m644 libgmni.a $(LIBDIR)/libgmni.a
|
2020-11-04 09:08:45 +01:00
|
|
|
install -m644 include/gmni/gmni.h $(INCLUDEDIR)/gmni/gmni.h
|
|
|
|
install -m644 include/gmni/tofu.h $(INCLUDEDIR)/gmni/tofu.h
|
|
|
|
install -m644 include/gmni/url.h $(INCLUDEDIR)/gmni/url.h
|
|
|
|
install -m644 libgmni.pc $(LIBDIR)/pkgconfig/libgmni.pc
|
2020-09-20 20:55:33 +02:00
|
|
|
|
2020-10-29 05:03:01 +01:00
|
|
|
uninstall:
|
|
|
|
rm -f $(BINDIR)/gmni
|
|
|
|
rm -f $(BINDIR)/gmnlm
|
|
|
|
rm -f $(LIBDIR)/libgmni.a
|
|
|
|
rm -rf $(INCLUDEDIR)/gmni
|
|
|
|
rm -f $(LIBDIR)/pkgconfig/libgmni.pc
|
|
|
|
rm -f $(MANDIR)/man1/gmni.1
|
|
|
|
rm -f $(MANDIR)/man1/gmnlm.1
|
|
|
|
|
2020-09-20 20:55:33 +02:00
|
|
|
.PHONY: clean distclean docs install
|