diff options
Diffstat (limited to 'eel/Makefile.am')
-rw-r--r-- | eel/Makefile.am | 90 |
1 files changed, 26 insertions, 64 deletions
diff --git a/eel/Makefile.am b/eel/Makefile.am index d7b04129..19407089 100644 --- a/eel/Makefile.am +++ b/eel/Makefile.am @@ -15,6 +15,11 @@ INCLUDES = \ -DMATEMENU_I_KNOW_THIS_IS_UNSTABLE \ $(NULL) +BUILT_SOURCES = \ + eel-marshal.c \ + eel-marshal.h \ + $(NULL) + libeel_2_la_LDFLAGS = \ -no-undefined \ $(CORE_CFLAGS) \ @@ -52,7 +57,6 @@ libeel_2_la_SOURCES = \ eel-self-checks.c \ eel-stock-dialogs.c \ eel-string.c \ - eel-types.c \ eel-vfs-extensions.c \ eel-wrap-table.c \ eel-xml-extensions.c \ @@ -85,57 +89,33 @@ eel_headers = \ eel-self-checks.h \ eel-stock-dialogs.h \ eel-string.h \ - eel-types.h \ eel-vfs-extensions.h \ eel-wrap-table.h \ eel-xml-extensions.h \ eel.h \ $(NULL) -marshal_sources = \ - eel-marshal.h \ - eel-marshal.c \ - $(NULL) - -eel-marshal.h: eelmarshal.list $(GLIB_GENMARSHAL) - $(AM_V_GEN)$(GLIB_GENMARSHAL) $< --header --prefix=eel_marshal > $@ -eel-marshal.c: eelmarshal.list $(GLIB_GENMARSHAL) - $(AM_V_GEN)$(GLIB_GENMARSHAL) $< --body --prefix=eel_marshal > $@ - -stamp_sources = \ - eel-enums.defs \ - eel-type-builtins-evals.c \ - $(NULL) - -stamps = \ - eel-makeenums-stamp \ - eel-stamp \ +nodist_libeel_2_la_SOURCES = \ + $(BUILT_SOURCES) \ $(NULL) -eel-makeenums-stamp: makeenums.pl $(eel_headers) - $(AM_V_GEN)$(PERL) $< defs $(filter-out $<,$^) > xgen-eed \ - && (cmp -s xgen-eed eel-enums.defs || mv -f xgen-eed eel-enums.defs) \ - && rm -f xgen-eed \ - && $(PERL) $< arrays $(filter-out $<,$^) > xgen-etbe \ - && (cmp -s xgen-etbe eel-type-builtins-evals.c || mv -f xgen-etbe eel-type-builtins-evals.c) \ - && rm -f xgen-etbe \ - && echo timestamp > $@ - -maketypes_sources = \ - eel-type-builtins.h \ - eel-type-builtins-ids.c \ - eel-type-builtins-vars.c \ - $(NULL) +eel-marshal.list: $(libeel_2_la_SOURCES) Makefile.am + $(AM_V_GEN)( cd $(srcdir) && \ + sed -n -e 's/.*eel_marshal_\([[:upper:][:digit:]]*__[[:upper:][:digit:]_]*\).*/\1/p' \ + $(libeel_2_la_SOURCES) ) \ + | sed -e 's/__/:/' -e 'y/_/,/' | sort -u > [email protected] + @if cmp -s [email protected] $@; then \ + rm [email protected]; \ + else \ + mv [email protected] $@; \ + fi -eel-stamp: eel-makeenums-stamp $(maketypes_sources) - echo timestamp > $@ +%-marshal.c: %-marshal.list Makefile + $(AM_V_GEN)echo "#include \"eel-marshal.h\"" > $@ && \ + $(GLIB_GENMARSHAL) --body --prefix=$(subst -,_,$*)_marshal $< >> $*-marshal.c -eel-type-builtins.h: eel-enums.defs maketypes.awk eel-makeenums-stamp - LC_ALL=C $(AWK) -f $(srcdir)/maketypes.awk $< macros > $@ -eel-type-builtins-vars.c: eel-enums.defs maketypes.awk eel-makeenums-stamp - LC_ALL=C $(AWK) -f $(srcdir)/maketypes.awk $< variables > $@ -eel-type-builtins-ids.c: eel-enums.defs maketypes.awk eel-makeenums-stamp - LC_ALL=C $(AWK) -f $(srcdir)/maketypes.awk $< entries > $@ +%-marshal.h: %-marshal.list Makefile + $(AM_V_GEN)$(GLIB_GENMARSHAL) --header --prefix=$(subst -,_,$*)_marshal $< > $*-marshal.h noinst_PROGRAMS = check-program @@ -148,28 +128,10 @@ TESTS = check-eel EXTRA_DIST = \ $(eel_headers) \ - eel-type-builtins.h \ - eel-marshal.h \ check-eel \ - eelmarshal.list \ - makeenums.pl \ - maketypes.awk \ + eel-marshal.list \ $(NULL) -$(libeel_2_la_OBJECTS): $(marshal_sources) - -# This trick causes the stamp file to be built first. -Makefile: eel-stamp - -# This trick causes the generated files to be built the first time. -$(stamp_sources): # never add any dependencies - test -f $@ || touch $@ - -built_sources = $(stamps) $(stamp_sources) $(maketypes_sources) $(marshal_sources) -CLEANFILES = $(built_sources) -DONT_DIST_FILES = $(built_sources) - -dist-hook: - for file in $(DONT_DIST_FILES) ; do \ - rm -f $(distdir)/$$file ; \ - done +CLEANFILES = \ + $(BUILT_SOURCES) \ + $(NULL) |