comparison Makefile.am @ 354:eec3ed1c0578

build: generate PKG_ADD and PKG_DEL files from DEFUN_DLD declarations * Makefile.am (PKG_ADD, PKG_DEL): Generate autoload directives for functions declared in oct files with names different from file name. * .hgignore: Ignore PKG_ADD and PKG_DEL files.
author Mike Miller <mtmiller@octave.org>
date Mon, 22 Aug 2016 17:24:13 -0700
parents baff3b90dcb1
children d18843ff4dfd
comparison
equal deleted inserted replaced
353:826a23f63f75 354:eec3ed1c0578
75 75
76 noinst_LTLIBRARIES = libpytave.la 76 noinst_LTLIBRARIES = libpytave.la
77 libpytave_la_CPPFLAGS = $(AM_CPPFLAGS) 77 libpytave_la_CPPFLAGS = $(AM_CPPFLAGS)
78 libpytave_la_SOURCES = $(COMMON_SOURCE_FILES) $(PYTAVE_HEADER_FILES) 78 libpytave_la_SOURCES = $(COMMON_SOURCE_FILES) $(PYTAVE_HEADER_FILES)
79 79
80 CLEANFILES = *.oct 80 CLEANFILES = *.oct PKG_ADD PKG_DEL
81 SUFFIXES = .oct 81 SUFFIXES = .oct
82 82
83 AM_V_MKOCTFILE = $(am__v_MKOCTFILE_$(V)) 83 AM_V_MKOCTFILE = $(am__v_MKOCTFILE_$(V))
84 am__v_MKOCTFILE_ = $(am__v_MKOCTFILE_$(AM_DEFAULT_VERBOSITY)) 84 am__v_MKOCTFILE_ = $(am__v_MKOCTFILE_$(AM_DEFAULT_VERBOSITY))
85 am__v_MKOCTFILE_0 = @echo " MKOCTFIL" $@; 85 am__v_MKOCTFILE_0 = @echo " MKOCTFIL" $@;
91 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ 91 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
92 92
93 %.oct: %.cc libpytave.la $(PYTAVE_HEADER_FILES) 93 %.oct: %.cc libpytave.la $(PYTAVE_HEADER_FILES)
94 $(AM_V_MKOCTFILE)$(OCT_LINK) $< $(OCT_LIBS) 94 $(AM_V_MKOCTFILE)$(OCT_LINK) $< $(OCT_LIBS)
95 95
96 all-local: $(OCT_FILES) 96 PKG_ADD: $(OCT_SOURCE_FILES)
97 $(AM_V_GEN)for f in $(OCT_SOURCE_FILES); do \
98 b=$${f%.cc}; \
99 funcs=`$(SED) -n 's/^DEFUN.*(\(\w\+\),.*/\1/p' $$f | grep -v $$b`; \
100 if test -n "$$funcs"; then \
101 echo "$$funcs" | $(SED) "s/.*/autoload (\"&\", \"$$b.oct\");/" > $@-t && \
102 mv $@-t $@ || exit $?; \
103 fi; \
104 done
105
106 PKG_DEL: $(OCT_SOURCE_FILES)
107 $(AM_V_GEN)for f in $(OCT_SOURCE_FILES); do \
108 b=$${f%.cc}; \
109 funcs=`$(SED) -n 's/^DEFUN.*(\(\w\+\),.*/\1/p' $$f | grep -v $$b`; \
110 if test -n "$$funcs"; then \
111 echo "$$funcs" | $(SED) "s/.*/autoload (\"&\", which (\"&\"), \"remove\");/" > $@-t && \
112 mv $@-t $@ || exit $?; \
113 fi; \
114 done
115
116 all-local: $(OCT_FILES) PKG_ADD PKG_DEL
97 @echo "" 117 @echo ""
98 @echo "Pytave successfully built. Now choose from the following:" 118 @echo "Pytave successfully built. Now choose from the following:"
99 @echo "" 119 @echo ""
100 @echo " * run the test suite" 120 @echo " * run the test suite"
101 @echo " make check" 121 @echo " make check"