optionally bundle amzn/ion-c
[awesomized/ext-ion] / Makefile.frag
diff --git a/Makefile.frag b/Makefile.frag
new file mode 100644 (file)
index 0000000..463c78b
--- /dev/null
@@ -0,0 +1,29 @@
+LIB_IONC_STATIC := $(builddir)/ion-c/build/ionc/libionc_static.a
+LIB_DECN_STATIC := $(builddir)/ion-c/build/decNumber/libdecNumber_static.a
+
+$(builddir)/ion.lo: $(LIB_IONC_STATIC) $(LIB_DECN_STATIC)
+
+$(builddir)/ion-c/build:
+       mkdir -p $@
+       +cd $@ && CFLAGS=-w CXXFLAGS=-w \
+       $(CMAKE) -Wno-dev --log-level=ERROR \
+               -DCMAKE_BUILD_TYPE=Release \
+               -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+               $(srcdir)/ion-c
+
+$(LIB_IONC_STATIC): | $(builddir)/ion-c/build
+       +$(CMAKE) --build $| --target ionc_static -- VERBOSE=
+$(LIB_DECN_STATIC): | $(builddir)/ion-c/build
+       +$(CMAKE) --build $| --target decNumber_static -- VERBOSE=
+
+clean: clean-ion
+
+.PHONY: clean-ion
+clean-ion:
+       -rm -rf $(builddir)/ion-c/build
+
+.PHONY: gcov-ion
+gcov-ion:
+       @rm -rf $@
+       @mkdir -p $@
+       gcovr -j $$(nproc) -sr . --html --html-details --html-title $@ -o $@/index.html -f '.*/(php_)?ion.*'