gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated: add missing original makefile


From: gnunet
Subject: [taler-exchange] branch master updated: add missing original makefile
Date: Sat, 22 Apr 2023 18:33:20 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 88a69ac7 add missing original makefile
88a69ac7 is described below

commit 88a69ac7f248ba85c753e0b0db5d0124c7408afb
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sat Apr 22 18:33:17 2023 +0200

    add missing original makefile
---
 src/templating/Makefile.orig | 301 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 301 insertions(+)

diff --git a/src/templating/Makefile.orig b/src/templating/Makefile.orig
new file mode 100644
index 00000000..3a1d2073
--- /dev/null
+++ b/src/templating/Makefile.orig
@@ -0,0 +1,301 @@
+# version
+MAJOR := 1
+MINOR := 2
+REVIS := 4
+
+# installation settings
+DESTDIR ?=
+PREFIX  ?= /usr/local
+BINDIR  ?= $(PREFIX)/bin
+LIBDIR  ?= $(PREFIX)/lib
+INCLUDEDIR ?= $(PREFIX)/include
+MANDIR  ?= $(PREFIX)/share/man
+PKGDIR  ?= $(LIBDIR)/pkgconfig
+
+# Tools (sed must be GNU sed)
+SED ?= sed
+INSTALL ?= install
+
+# initial settings
+VERSION := $(MAJOR).$(MINOR).$(REVIS)
+SOVER := .$(MAJOR)
+SOVEREV := .$(MAJOR).$(MINOR)
+
+HEADERS := mustach.h mustach-wrap.h
+SPLITLIB := libmustach-core.so$(SOVEREV)
+SPLITPC := libmustach-core.pc
+COREOBJS := mustach.o mustach-wrap.o
+SINGLEOBJS := $(COREOBJS)
+SINGLEFLAGS :=
+SINGLELIBS :=
+TESTSPECS :=
+ALL := manuals
+
+# availability of CJSON
+ifneq ($(cjson),no)
+ cjson_cflags := $(shell pkg-config --silence-errors --cflags libcjson)
+ cjson_libs := $(shell pkg-config --silence-errors --libs libcjson)
+ ifdef cjson_libs
+  cjson := yes
+  tool ?= cjson
+  HEADERS += mustach-cjson.h
+  SPLITLIB += libmustach-cjson.so$(SOVEREV)
+  SPLITPC += libmustach-cjson.pc
+  SINGLEOBJS += mustach-cjson.o
+  SINGLEFLAGS += ${cjson_cflags}
+  SINGLELIBS += ${cjson_libs}
+  TESTSPECS += test-specs/test-specs-cjson
+ else
+  ifeq ($(cjson),yes)
+   $(error Can't find required library cjson)
+  endif
+  cjson := no
+ endif
+endif
+
+# availability of JSON-C
+ifneq ($(jsonc),no)
+ jsonc_cflags := $(shell pkg-config --silence-errors --cflags json-c)
+ jsonc_libs := $(shell pkg-config --silence-errors --libs json-c)
+ ifdef jsonc_libs
+  jsonc := yes
+  tool ?= jsonc
+  HEADERS += mustach-json-c.h
+  SPLITLIB += libmustach-json-c.so$(SOVEREV)
+  SPLITPC += libmustach-json-c.pc
+  SINGLEOBJS += mustach-json-c.o
+  SINGLEFLAGS += ${jsonc_cflags}
+  SINGLELIBS += ${jsonc_libs}
+  TESTSPECS += test-specs/test-specs-json-c
+ else
+  ifeq ($(jsonc),yes)
+   $(error Can't find required library json-c)
+  endif
+  jsonc := no
+ endif
+endif
+
+# availability of JANSSON
+ifneq ($(jansson),no)
+ jansson_cflags := $(shell pkg-config --silence-errors --cflags jansson)
+ jansson_libs := $(shell pkg-config --silence-errors --libs jansson)
+ ifdef jansson_libs
+  jansson := yes
+  tool ?= jansson
+  HEADERS += mustach-jansson.h
+  SPLITLIB += libmustach-jansson.so$(SOVEREV)
+  SPLITPC += libmustach-jansson.pc
+  SINGLEOBJS += mustach-jansson.o
+  SINGLEFLAGS += ${jansson_cflags}
+  SINGLELIBS += ${jansson_libs}
+  TESTSPECS += test-specs/test-specs-jansson
+ else
+  ifeq ($(jansson),yes)
+   $(error Can't find required library jansson)
+  endif
+  jansson := no
+ endif
+endif
+
+# tool
+TOOLOBJS = mustach-tool.o $(COREOBJS)
+tool ?= none
+ifneq ($(tool),none)
+  ifeq ($(tool),cjson)
+    TOOLOBJS += mustach-cjson.o
+    TOOLFLAGS := ${cjson_cflags} -DTOOL=MUSTACH_TOOL_CJSON
+    TOOLLIBS := ${cjson_libs}
+    TOOLDEP := mustach-cjson.h
+  else ifeq ($(tool),jsonc)
+    TOOLOBJS += mustach-json-c.o
+    TOOLFLAGS := ${jsonc_cflags} -DTOOL=MUSTACH_TOOL_JSON_C
+    TOOLLIBS := ${jsonc_libs}
+    TOOLDEP := mustach-json-c.h
+  else ifeq ($(tool),jansson)
+    TOOLOBJS += mustach-jansson.o
+    TOOLFLAGS := ${jansson_cflags} -DTOOL=MUSTACH_TOOL_JANSSON
+    TOOLLIBS := ${jansson_libs}
+    TOOLDEP := mustach-jansson.h
+  else
+   $(error Unknown library $(tool) for tool)
+  endif
+  ifneq ($($(tool)),yes)
+    $(error No library found for tool $(tool))
+  endif
+  ALL += mustach
+endif
+
+# compute targets
+libs ?= all
+ifeq (${libs},split)
+ ALL += ${SPLITLIB} ${SPLITPC}
+else ifeq (${libs},single)
+ ALL += libmustach.so$(SOVEREV) libmustach.pc
+else ifeq (${libs},all)
+ ALL += libmustach.so$(SOVEREV) libmustach.pc ${SPLITLIB} ${SPLITPC}
+else ifneq (${libs},none)
+ $(error Unknown libs $(libs))
+endif
+
+# display target
+$(info tool    = ${tool})
+$(info libs    = ${libs})
+$(info jsonc   = ${jsonc})
+$(info jansson = ${jansson})
+$(info cjson   = ${cjson})
+
+# settings
+
+EFLAGS = -fPIC -Wall -Wextra -DVERSION=${VERSION}
+
+ifeq ($(shell uname),Darwin)
+ LDFLAGS_single  += -install_name $(LIBDIR)/libmustach.so$(SOVEREV)
+ LDFLAGS_core    += -install_name $(LIBDIR)/libmustach-core.so$(SOVEREV)
+ LDFLAGS_cjson   += -install_name $(LIBDIR)/libmustach-cjson.so$(SOVEREV)
+ LDFLAGS_jsonc   += -install_name $(LIBDIR)/libmustach-json-c.so$(SOVEREV)
+ LDFLAGS_jansson += -install_name $(LIBDIR)/libmustach-jansson.so$(SOVEREV)
+else
+ LDFLAGS_single  += -Wl,-soname,libmustach.so$(SOVER)
+ LDFLAGS_core    += -Wl,-soname,libmustach-core.so$(SOVER)
+ LDFLAGS_cjson   += -Wl,-soname,libmustach-cjson.so$(SOVER)
+ LDFLAGS_jsonc   += -Wl,-soname,libmustach-json-c.so$(SOVER)
+ LDFLAGS_jansson += -Wl,-soname,libmustach-jansson.so$(SOVER)
+endif
+
+# targets
+
+.PHONY: all
+all: ${ALL}
+
+mustach: $(TOOLOBJS)
+       $(CC) $(LDFLAGS) $(TOOLFLAGS) -o mustach $(TOOLOBJS) $(TOOLLIBS)
+
+libmustach.so$(SOVEREV): $(SINGLEOBJS)
+       $(CC) -shared $(LDFLAGS) $(LDFLAGS_single) -o $@ $^ $(SINGLELIBS)
+
+libmustach-core.so$(SOVEREV): $(COREOBJS)
+       $(CC) -shared $(LDFLAGS) $(LDFLAGS_core) -o $@ $(COREOBJS) $(lib_OBJ)
+
+libmustach-cjson.so$(SOVEREV): $(COREOBJS) mustach-cjson.o
+       $(CC) -shared $(LDFLAGS) $(LDFLAGS_cjson) -o $@ $^ $(cjson_libs)
+
+libmustach-json-c.so$(SOVEREV): $(COREOBJS) mustach-json-c.o
+       $(CC) -shared $(LDFLAGS) $(LDFLAGS_jsonc) -o $@ $^ $(jsonc_libs)
+
+libmustach-jansson.so$(SOVEREV): $(COREOBJS) mustach-jansson.o
+       $(CC) -shared $(LDFLAGS) $(LDFLAGS_jansson) -o $@ $^ $(jansson_libs)
+
+# pkgconfigs
+
+%.pc: pkgcfgs
+       $(SED) -E 
'/^==.*==$$/{h;d};x;/==$@==/{x;s/VERSION/$(VERSION)/;p;d};x;d' $< > $@
+
+# objects
+
+mustach.o: mustach.c mustach.h
+       $(CC) -c $(EFLAGS) $(CFLAGS) -o $@ $<
+
+mustach-wrap.o: mustach-wrap.c mustach.h mustach-wrap.h
+       $(CC) -c $(EFLAGS) $(CFLAGS) -o $@ $<
+
+mustach-tool.o: mustach-tool.c mustach.h mustach-json-c.h $(TOOLDEP)
+       $(CC) -c $(EFLAGS) $(CFLAGS) $(TOOLFLAGS) -o $@ $<
+
+mustach-cjson.o: mustach-cjson.c mustach.h mustach-wrap.h mustach-cjson.h
+       $(CC) -c $(EFLAGS) $(CFLAGS) $(cjson_cflags) -o $@ $<
+
+mustach-json-c.o: mustach-json-c.c mustach.h mustach-wrap.h mustach-json-c.h
+       $(CC) -c $(EFLAGS) $(CFLAGS) $(jsonc_cflags) -o $@ $<
+
+mustach-jansson.o: mustach-jansson.c mustach.h mustach-wrap.h mustach-jansson.h
+       $(CC) -c $(EFLAGS) $(CFLAGS) $(jansson_cflags) -o $@ $<
+
+# installing
+.PHONY: install
+install: all
+       $(INSTALL) -d $(DESTDIR)$(BINDIR)
+       $(INSTALL) -m0755 mustach       $(DESTDIR)$(BINDIR)/
+       $(INSTALL) -d $(DESTDIR)$(INCLUDEDIR)/mustach
+       $(INSTALL) -m0644 $(HEADERS)    $(DESTDIR)$(INCLUDEDIR)/mustach
+       $(INSTALL) -d $(DESTDIR)$(LIBDIR)
+       for x in libmustach*.so$(SOVEREV); do \
+               $(INSTALL) -m0755 $$x $(DESTDIR)$(LIBDIR)/ ;\
+               ln -sf $$x $(DESTDIR)$(LIBDIR)/$${x%.so.*}.so$(SOVER) ;\
+               ln -sf $$x $(DESTDIR)$(LIBDIR)/$${x%.so.*}.so ;\
+       done
+       $(INSTALL) -d $(DESTDIR)/$(PKGDIR)
+       $(INSTALL) -m0644 libmustach*.pc $(DESTDIR)/$(PKGDIR)
+       $(INSTALL) -d $(DESTDIR)/$(MANDIR)/man1
+       $(INSTALL) -m0644 mustach.1.gz $(DESTDIR)/$(MANDIR)/man1
+
+# deinstalling
+.PHONY: uninstall
+uninstall:
+       rm -f $(DESTDIR)$(BINDIR)/mustach
+       rm -f $(DESTDIR)$(LIBDIR)/libmustach*.so*
+       rm -rf $(DESTDIR)$(INCLUDEDIR)/mustach
+
+# testing
+.PHONY: test test-basic test-specs
+test: basic-tests spec-tests
+
+basic-tests: mustach
+       @$(MAKE) -C test1 test
+       @$(MAKE) -C test2 test
+       @$(MAKE) -C test3 test
+       @$(MAKE) -C test4 test
+       @$(MAKE) -C test5 test
+       @$(MAKE) -C test6 test
+
+spec-tests: $(TESTSPECS)
+
+test-specs/test-specs-%: test-specs/%-test-specs test-specs/specs
+       ./$< test-specs/spec/specs/[a-z]*.json > $@.last || true
+       diff $@.ref $@.last
+
+test-specs/cjson-test-specs.o: test-specs/test-specs.c mustach.h 
mustach-wrap.h mustach-cjson.h
+       $(CC) -I. -c $(EFLAGS) $(CFLAGS) $(cjson_cflags) -DTEST=TEST_CJSON -o 
$@ $<
+
+test-specs/cjson-test-specs: test-specs/cjson-test-specs.o mustach-cjson.o 
$(COREOBJS)
+       $(CC) $(LDFLAGS) -o $@ $^ $(cjson_libs)
+
+test-specs/json-c-test-specs.o: test-specs/test-specs.c mustach.h 
mustach-wrap.h mustach-json-c.h
+       $(CC) -I. -c $(EFLAGS) $(CFLAGS) $(jsonc_cflags) -DTEST=TEST_JSON_C -o 
$@ $<
+
+test-specs/json-c-test-specs: test-specs/json-c-test-specs.o mustach-json-c.o 
$(COREOBJS)
+       $(CC) $(LDFLAGS) -o $@ $^ $(jsonc_libs)
+
+test-specs/jansson-test-specs.o: test-specs/test-specs.c mustach.h 
mustach-wrap.h mustach-jansson.h
+       $(CC) -I. -c $(EFLAGS) $(CFLAGS) $(jansson_cflags) -DTEST=TEST_JANSSON 
-o $@ $<
+
+test-specs/jansson-test-specs: test-specs/jansson-test-specs.o 
mustach-jansson.o $(COREOBJS)
+       $(CC) $(LDFLAGS) -o $@ $^ $(jansson_libs)
+
+.PHONY: test-specs/specs
+test-specs/specs:
+       if test -d test-specs/spec; then \
+               git -C test-specs/spec pull; \
+       else \
+               git -C test-specs clone https://github.com/mustache/spec.git; \
+       fi
+
+#cleaning
+.PHONY: clean
+clean:
+       rm -f mustach libmustach*.so* *.o *.pc
+       rm -f test-specs/*-test-specs test-specs/test-specs-*.last
+       rm -rf *.gcno *.gcda coverage.info gcov-latest
+       @$(MAKE) -C test1 clean
+       @$(MAKE) -C test2 clean
+       @$(MAKE) -C test3 clean
+       @$(MAKE) -C test4 clean
+       @$(MAKE) -C test5 clean
+       @$(MAKE) -C test6 clean
+
+# manpage
+.PHONY: manuals
+manuals: mustach.1.gz
+
+mustach.1.gz: mustach.1.scd
+       if which scdoc >/dev/null 2>&1; then scdoc < mustach.1.scd | gzip > 
mustach.1.gz; fi
+

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]