]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/stepmake/generic-targets.make
* autogen.sh: Generate.
[lilypond.git] / stepmake / stepmake / generic-targets.make
index 3ca5d629f1e9b1ae6854d5c9fe9316bbebd69a45..f9b49024a76f7b66124045a557a9c8e62868f9f5 100644 (file)
@@ -1,20 +1,22 @@
-# title           generic make targets
-# file    make/Targets.make
-
-.PHONY : all clean config default dist doc doc++  exe help html lib TAGS\
+.PHONY : all clean config default diff dist doc exe help html lib TAGS\
         po
-# VPATH=$(outdir)/             #ugh?
-# target all:
-#
+
 all:    default
        $(LOOP)
 
+man:
+       $(LOOP)
 
 # be careful about deletion.
-clean: localclean
+clean: local-clean
        -rm -f $(outdir)/*
        $(LOOP)
 
+ifneq ($(strip $(depth)),.)
+dist:
+       make -C $(depth) dist
+endif
+
 distclean: clean 
        $(LOOP)
        $(MAKE) local-distclean
@@ -37,69 +39,43 @@ config:
 generic-help:
        @echo -e "\
 Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\n\
-Usage: $(MAKE) ["VARIABLE=value"]... [TARGET]\n\
+Usage: make ["VARIABLE=value"]... [TARGET]\n\
 \n\
 Targets:\n"
 
 help: generic-help local-help
        @echo -e "\
   all         update everything\n\
-  clean       remove all genated stuff in $(oudir)\n\
-  config      rerun configure\n\
-  deb         build Debian package\n\
+  clean       remove all genated stuff in $(outdir)\n\
   default     same as the empty target\n\
-  diff        generate patch: $(package)-$(TOPLEVEL_VERSION).diff.gz\n\
-  .           Options:\n\
-  .             from=0.1.74\n\
-  .             help==\n\
-  .             release==\n\
-  .             to=0.1.74.jcn2\n\
-  distclean   cleaner than clean (duh)\n\
-  doc         update all documentation\n\
-  doc++       make doc++ documentation\n\
   exe         update all executables\n\
   help        this help\n\
   install     install programs and data (prefix=$(prefix))\n\
   lib         update all libraries\n\
-  release     roll tarball and generate patch\n\
-  rpm         build RedHat package\n\
-  tar         same as dist\n\
   TAGS        genarate tagfiles\n\
-  zip         build binary doze distribution\n\
 \n\
 Make may be invoked from any subdirectory\n\
-Note that all commands recurse into SUBSDIRS\n\
+Note that all commands recurse into SUBDIRS;\n\
+prepend \`local-' to do only cwd, eg: local-clean\n\
 "\
-#
 
 local-help:
 
-doc:
-#UGH
-       true #  $(MAKE) -C $(depth)/Documentation all
-
-
-# Ugh.  C++ specific.
-doc++:
-       (cd $(outdir); sh ../$(step-bindir)/tar-docxx.sh $(package)-$(TOPLEVEL_VERSION).tar.gz)
-
-
-
 local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES)
        mkdir -p $(distdir)/$(localdir)
        $(LN) $(DIST_FILES) $(distdir)/$(localdir)
 
-#UGH UGH . make ifdef doesn't mix with string substitution semantics (late expansion vs. early expansion)
-# 
        case "$(NON_ESSENTIAL_DIST_FILES)x" in x) ;; *) \
                $(LN) $(NON_ESSENTIAL_DIST_FILES) $(distdir)/$(localdir);; \
        esac
 
        case "$(OUT_DIST_FILES)x" in x) ;; *) \
-               mkdir $(distdir)/$(localdir)/out; \
-               $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/out;; \
+               mkdir -p $(distdir)/$(localdir)/$(outdir); \
+               $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/$(outdir);; \
        esac
-       $(foreach i, $(SUBDIRS), $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) local-dist &&) true
+#      $(foreach i, $(SUBDIRS), $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) local-dist &&) true
+# absolute for installed stepmake
+       $(foreach i, $(SUBDIRS), $(MAKE) topdir=$(topdir) distdir=$(distdir) localdir=$(localdir)/$(notdir $(i)) -C $(i) local-dist &&) true
 
 
 
@@ -107,25 +83,27 @@ html: $(HTML_FILES)
 
 TAGS:
        -if [ "$(TAGS_FILES)" != "" ]; then \
-               etags -CT $(TAGS_FILES) || \
-               ctags -h ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \
+               etags $(ETAGS_FLAGS) $(TAGS_FILES) || \
+               ctags $(CTAGS_FLAGS) ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \
        fi
 
        $(LOOP)
 
 # ugh . -> $(outdir)
 $(outdir)/VERSION: $(depth)/VERSION
-       cp $< $@
+       cp -p $< $@
 
 $(outdir)/version.hh: $(outdir)/VERSION
-       sh ./$(step-bindir)/make-version.sh $< > $@
+       $(PYTHON) $(step-bindir)/make-version.py $< > $@
+
+$(outdir)/config.h: $(config_h)
+       cp -p $< $@
 
-# should this be in Rules?
 configure: configure.in aclocal.m4
-       autoconf - < $<> $@
+       NOCONFIGURE=yes $(srcdir)/autogen.sh
        chmod +x configure
 
-localclean:
+local-clean:
 
 local-distclean:
 
@@ -134,32 +112,25 @@ local-maintainerclean:
 install-strip:
        $(MAKE) INSTALL="$(INSTALL) -s" install
 
-install: localinstall
+install: local-install
        $(LOOP)
 
-localinstall:
+local-install:
 
-uninstall: localuninstall
+uninstall: local-uninstall
        $(LOOP)
 
-localuninstall:
+local-uninstall:
 
 installextradoc:
        -$(INSTALL) -d $(prefix)/doc/$(package)
        $(foreach i, $(EXTRA_DOC_FILES),\
                cp -r $(i) $(prefix)/doc/$(package) &&) true
 
-WWW: local-WWW
-       $(LOOP)
-
-local-WWW:
-
-include $(stepdir)/package.make
-
 include $(outdir)/dummy.dep $(DEP_FILES)
 
 $(outdir)/dummy.dep:
-       -mkdir $(outdir)
+       -mkdir -p $(outdir)
        touch $(outdir)/dummy.dep
 
 
@@ -170,8 +141,27 @@ local-check:
 
 # ugh.  ugh ugh ugh
 $(depth)/$(configuration).make: $(depth)/configure
-       @echo "**************************************"
+       @echo "************************************************************"
        @echo "configure changed! You should probably reconfigure manually."
-       @echo "**************************************"
+       @echo "************************************************************"
        (cd $(depth); ./config.status)
        touch $@                # do something for multiple simultaneous configs.
+
+
+deb:
+       $(MAKE) -C $(depth)/debian
+       cd $(depth) && debuild
+
+diff:
+       $(PYTHON) $(step-bindir)/package-diff.py  --outdir=$(topdir)/$(outdir) --package=$(topdir) $(makeflags)
+       -ln -f $(depth)/$(outdir)/$(distname).diff.gz $(patch-dir)
+
+release: 
+       $(PYTHON) $(step-bindir)/release.py --outdir=$(topdir)/$(outdir) --package=$(topdir)
+
+rpm: $(depth)/$(package-icon) dist
+       @echo "Assuming Red Hat system" #FIXME: check distro, then issue rpm
+       $(MAKE) -C $(depth)/make
+       cd $(depth) && rpm -bb make/$(outdir)/lilypond.redhat.spec
+#      su -c 'rpm -tb $(depth)/$(outdir)/$(distname).tar.gz'
+