very rough systemd services and script
[sfa.git] / wsdl / Makefile
index 3b82120..c24b1e1 100644 (file)
@@ -1,22 +1,67 @@
 # attempt to update at build-time
 
-ALL := sfa.wsdl registry.wsdl slice-manager.wsdl aggregate.wsdl 
+INTERFACES=sfa registry slice-manager aggregate
 
-all: $(ALL)
+WSDLS = $(foreach interface,$(INTERFACES),$(interface).wsdl)
+HTMLS = $(foreach interface,$(INTERFACES),$(interface).html)
 
-registry.wsdl:
-       PYTHONPATH=../ ./gw2wsdl.py --registry > $@
+all: $(WSDLS) $(HTMLS)
 
-slice-manager.wsdl:
-       PYTHONPATH=../ ./gw2wsdl.py --slice-manager > $@
+# temporary: turn off wsdl generation as it is failing
+#TEMPORARY_OFF = yes
 
-aggregate.wsdl:
-       PYTHONPATH=../ ./gw2wsdl.py --aggregate > $@
+ifdef TEMPORARY_OFF
+registry.wsdl slice-manager.wsdl aggregate.wsdl sfa.wsdl:
+       touch $@
+else
+registry.wsdl: sfa2wsdl.py
+       PYTHONPATH=../ ./sfa2wsdl.py --registry > $@
 
-sfa.wsdl:
-       PYTHONPATH=../ ./gw2wsdl.py --registry --slice-manager --aggregate > $@
+slice-manager.wsdl: sfa2wsdl.py
+       PYTHONPATH=../ ./sfa2wsdl.py --slice-manager > $@
 
-clean:
-       rm -f *wsdl
+aggregate.wsdl: sfa2wsdl.py
+       PYTHONPATH=../ ./sfa2wsdl.py --aggregate > $@
 
-.PHONY: all clean
+sfa.wsdl: sfa2wsdl.py
+       PYTHONPATH=../ ./sfa2wsdl.py --registry --slice-manager --aggregate > $@
+endif
+
+#################### install
+# DESTDIR set but the calling Makefile in ../
+INSTALL_PATH=/var/www/html/wsdl
+INSTALLED=$(foreach wsdl,$(WSDLS),$(DESTDIR)$(INSTALL_PATH)/$(wsdl))
+
+install: $(INSTALLED)
+
+$(DESTDIR)$(INSTALL_PATH):
+       install -d -m 0755 $(DESTDIR)$(INSTALL_PATH)
+
+$(DESTDIR)$(INSTALL_PATH)/%: wsdl=$(notdir $@)
+$(DESTDIR)$(INSTALL_PATH)/%: $(DESTDIR)$(INSTALL_PATH) %
+       install -c -m 0755 $(wsdl) $@
+
+#################### clean
+clean::
+       rm -f $(WSDLS)
+
+install-clean:
+       rm -f $(INSTALLED)
+
+.PHONY: all clean install install-clean
+
+#################### generate html document
+%.html: %.wsdl wsdl2html.xsl
+       xsltproc $(XSLTFLAGS) wsdl2html.xsl $*.wsdl > $@ || rm $@
+
+clean::
+       rm -f $(HTMLS)
+
+
+backup:
+       $(foreach wsdl,$(WSDLS), cp $(wsdl) $(wsdl).bak;)
+       $(foreach html,$(HTMLS), cp $(html) $(html).bak;)
+
+diff:
+       $(foreach wsdl,$(WSDLS), diff $(wsdl) $(wsdl).bak;)
+       $(foreach html,$(HTMLS), diff $(html) $(html).bak;)