aboutsummaryrefslogtreecommitdiff
path: root/bindings/mono/Makefile.am
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-01-11 23:39:11 -0600
committerTed Gould <ted@gould.cx>2010-01-11 23:39:11 -0600
commite04e32f8be96d34f2986684a00d19a6bdd9486ac (patch)
treee7d92ecd300a406165bbb17922456ac5e487473f /bindings/mono/Makefile.am
parente979943578891555904bfad9f452ed9c6c7aadda (diff)
parentd6ae58e1a529666b0284373469a5032d0cbb2d9a (diff)
downloadayatana-indicator-application-e04e32f8be96d34f2986684a00d19a6bdd9486ac.tar.gz
ayatana-indicator-application-e04e32f8be96d34f2986684a00d19a6bdd9486ac.tar.bz2
ayatana-indicator-application-e04e32f8be96d34f2986684a00d19a6bdd9486ac.zip
Fixes for the mono bindings to make the properties work with enums and the #define'd string names.
Diffstat (limited to 'bindings/mono/Makefile.am')
-rw-r--r--bindings/mono/Makefile.am51
1 files changed, 38 insertions, 13 deletions
diff --git a/bindings/mono/Makefile.am b/bindings/mono/Makefile.am
index dedbeb7..eb6545b 100644
--- a/bindings/mono/Makefile.am
+++ b/bindings/mono/Makefile.am
@@ -6,6 +6,7 @@ pkgconfig_DATA = appindicator-sharp-0.1.pc
TEST = AppIndicator.Test.dll
API = libappindicator-api.xml
+MIDDLE_API = libappindicator-api.middle
RAW_API = libappindicator-api.raw
METADATA = libappindicator-api.metadata
ASSEMBLY_NAME = appindicator-sharp
@@ -16,13 +17,15 @@ assembly_DATA = $(TARGET)
CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb generated-stamp generated/*.cs $(API) $(RAW_API) $(TEST)
DISTCLEANFILES = $(ASSEMBLY).config
TEST_SOURCES = TestIndicator.cs
-EXTRA_DIST = \
- $(RAW_API) \
- $(METADATA) \
- appindicator-sharp-0.1.pc.in \
- appindicator-sharp.dll.config.in \
- app-indicator.sources.xml \
- $(ASSEMBLY_NAME).snk \
+customs = ApplicationIndicator.custom
+EXTRA_DIST = \
+ $(RAW_API) \
+ $(METADATA) \
+ appindicator-sharp-0.1.pc.in \
+ appindicator-sharp.dll.config.in \
+ app-indicator.sources.xml \
+ $(ASSEMBLY_NAME).snk \
+ $(customs) \
$(TEST_SOURCES)
GACUTIL_FLAGS="-package $(ASSEMBLY_NAME) -root $(DESTDIR)$(prefix)/lib"
@@ -33,19 +36,41 @@ test_references = $(GTK_SHARP_LIBS) $(NUNIT_LIBS) -r:$(ASSEMBLY)
$(RAW_API): app-indicator.sources.xml
$(GAPI_PARSER) app-indicator.sources.xml
-$(API): $(METADATA) $(RAW_API)
- cp $(srcdir)/$(RAW_API) $(API)
- chmod u+w $(API)
+$(MIDDLE_API): $(METADATA) $(RAW_API)
+ cp $(srcdir)/$(RAW_API) $(MIDDLE_API)
+ chmod u+w $(MIDDLE_API)
@if test -n '$(METADATA)'; then \
- echo "$(GAPI_FIXUP) --api=$(API) --metadata=$(srcdir)/$(METADATA)"; \
- $(GAPI_FIXUP) --api=$(API) --metadata=$(srcdir)/$(METADATA); \
+ echo "$(GAPI_FIXUP) --api=$(MIDDLE_API) --metadata=$(srcdir)/$(METADATA)"; \
+ $(GAPI_FIXUP) --api=$(MIDDLE_API) --metadata=$(srcdir)/$(METADATA); \
fi
+$(API): $(MIDDLE_API) Makefile.am
+ sed -e "s|PROP_ID_S|ID|" \
+ -e "s|PROP_ID_S|id|" \
+ -e "s|PROP_STATUS_S|Status|" \
+ -e "s|PROP_STATUS_S|status|" \
+ -e "s|PROP_CATEGORY_S|Category|" \
+ -e "s|PROP_CATEGORY_S|category|" \
+ -e "s|PROP_ICON_NAME_S|IconName|" \
+ -e "s|PROP_ICON_NAME_S|icon-name|" \
+ -e "s|PROP_ATTENTION_ICON_NAME_S|AttentionIconName|" \
+ -e "s|PROP_ATTENTION_ICON_NAME_S|attention-icon-name|" \
+ -e "s|PROP_ICON_THEME_PATH_S|IconThemePath|" \
+ -e "s|PROP_ICON_THEME_PATH_S|icon-theme-path|" \
+ -e "s|PROP_MENU_S|Menu|" \
+ -e "s|PROP_MENU_S|menu|" \
+ -e "s|PROP_CONNECTED_S|Connected|" \
+ -e "s|PROP_CONNECTED_S|connected|" \
+ $< > $@
+
api_includes = $(GTK_SHARP_CFLAGS)
-generated-stamp: $(API)
+build_customs = $(addprefix $(srcdir)/, $(customs))
+
+generated-stamp: $(API) $(build_customs)
rm -f generated/* && \
$(GAPI_CODEGEN) --generate $(API) $(api_includes) \
+ --customdir=$(srcdir) \
--outdir=generated --assembly-name=$(ASSEMBLY_NAME) \
&& touch generated-stamp