chiark / gitweb /
build-sys: distribute introspect.awk
[elogind.git] / Makefile.am
index 4330db06dddf06712bb718c5d7c700d2ff2daf26..eb63c5d56d2177ca9ba24a0ed6721cdcacae2e96 100644 (file)
@@ -317,7 +317,8 @@ EXTRA_DIST = \
        units/fsck@.service.in \
        units/fsck-root.service.in \
        units/quotacheck.service.in \
-       systemd.pc.in
+       systemd.pc.in \
+       introspect.awk
 
 if TARGET_FEDORA
 dist_systemunit_DATA += \
@@ -1118,8 +1119,12 @@ CLEANFILES += \
        ${XML_IN_FILES:.xml.in=.html.in}
 endif
 
+DBUS_PREPROCESS = $(CPP) -P $(DBUS_CFLAGS) -imacros dbus/dbus-protocol.h
+
 org.freedesktop.systemd1.%.xml: systemd
-       $(AM_V_GEN)SYSTEMD_SKIP_API_MOUNTS=1 ./systemd --introspect=${@:.xml=} > $@
+       $(AM_V_GEN)$(OBJCOPY) -O binary -j introspect.$* $< $@.tmp && \
+               $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
+               $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
 
 CLEANFILES += \
        $(dbusinterface_DATA)