From: fred Date: Sun, 24 Mar 2002 20:10:43 +0000 (+0000) Subject: lilypond-1.0.1 X-Git-Tag: release/1.5.59~3155 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=3ef74fe098585d9ec3ce9f887146d8332e36d277;p=lilypond.git lilypond-1.0.1 --- diff --git a/lib/Makefile b/lib/Makefile index e1593fcd69..8b95c0a8c1 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -1,24 +1,14 @@ -# subdir level: -# -depth = .. +# lib/Makefile -include ./$(depth)/make/Variables.make -include ./$(depth)/make/Files.make -include ./$(depth)/make/Version.make -# +depth = .. NAME = lily SUBDIRS = include - +# MODULE_LIBS= $(depth)/flower MODULE_CXXFLAGS += -D_REENTRANT -MAINTARGET = $(LIBRARY)# huh? - -default: $(LIBRARY) - -# generic targets and rules: -# -include ./$(depth)/make/Targets.make -include ./$(depth)/make/Rules.make +include $(depth)/make/Stepmake.make +include $(stepdir)/C++.make +include $(stepdir)/Library.make diff --git a/stepmake/VERSION b/stepmake/VERSION new file mode 100644 index 0000000000..89e1366795 --- /dev/null +++ b/stepmake/VERSION @@ -0,0 +1,9 @@ +PACKAGE_NAME=StepMake +MAJOR_VERSION=0 +MINOR_VERSION=1 +PATCH_LEVEL=41 +MY_PATCH_LEVEL= + +# use the above to send patches, always empty for released version: +# please don't move these comments up; the patch should fail if +# the previous version was wrong. diff --git a/stepmake/stepmake/C++_files.make b/stepmake/stepmake/C++_files.make new file mode 100644 index 0000000000..d61a475a63 --- /dev/null +++ b/stepmake/stepmake/C++_files.make @@ -0,0 +1,14 @@ + +# +# template files: +TCC_FILES := $(wildcard *.tcc) +HH_FILES := $(wildcard *.hh) +CC_FILES := $(wildcard *.cc) +INL_FILES := $(wildcard *.icc) +YY_FILES := $(wildcard *.yy) +LL_FILES := $(wildcard *.ll) + +SOURCE_FILES+=$(YY_FILES) $(CC_FILES) $(INL_FILES) $(TCC_FILES) $(HH_FILES) $(LL_FILES) +OBJECT_FILES+=$(YY_FILES:.yy=.o) $(CC_FILES:.cc=.o) $(LL_FILES:.ll=.o) + +TAGS_FILES += $(TCC_FILES) $(HH_FILES) $(INL_FILES) $(CC_FILES) diff --git a/stepmake/stepmake/C.make b/stepmake/stepmake/C.make new file mode 100644 index 0000000000..2548c77b55 --- /dev/null +++ b/stepmake/stepmake/C.make @@ -0,0 +1,24 @@ + +# header files: +H_FILES := $(wildcard *.h) +C_FILES := $(wildcard *.c) +Y_FILES := $(wildcard *.y) +L_FILES := $(wildcard *.l) + +SOURCE_FILES+=$(Y_FILES) $(C_FILES) $(L_FILES) $(H_FILES) +OBJECT_FILES+=$(Y_FILES:.y=.o) $(C_FILES:.c=.o) $(L_FILES:.l=.o) + +TAGS_FILES += C_FILES H_FILES +# C/C++ +# + +ALL_C_SOURCES += $(H_FILES) $(C_FILES) $(Y_FILES) + +include $(stepdir)/C_rules.make + +# compiler: +# +DO_C_COMPILE = $(DODEP) $(CC) -c $(CFLAGS) $(C_OUTPUT_OPTION) +C_OUTPUT_OPTION = $< -o $@ + +CFLAGS = $(ICFLAGS) $(DEFINES) $(INCLUDES) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS) diff --git a/stepmake/stepmake/Files.make b/stepmake/stepmake/Files.make new file mode 100644 index 0000000000..2c2ede8dac --- /dev/null +++ b/stepmake/stepmake/Files.make @@ -0,0 +1,27 @@ +# Files.make + + +# list of object _FILES: +# +SOURCE_FILES = + +O_FILES = $(addprefix $(outdir)/,$(OBJECT_FILES)) +# + +DEP_FILES := $(wildcard $(depdir)/*.dep) + +# (Why not Makefile too?) +# +MAKE_FILES := $(wildcard *.make) +# + +IN_FILES := $(wildcard *.in) +SOURCE_FILES += $(IN_FILES) +SOURCE_FILES += $(MAKE_FILES) +# Preprocessed .in documentation _FILES: +# +OUTIN_FILES = $(addprefix $(outdir)/, $(IN_FILES:%.in=%)) +# + +ALL_SOURCES = $(SOURCE_FILES) + diff --git a/stepmake/stepmake/Targets.make b/stepmake/stepmake/Targets.make new file mode 100644 index 0000000000..43d9877f18 --- /dev/null +++ b/stepmake/stepmake/Targets.make @@ -0,0 +1,194 @@ +# title generic make targets +# file make/Targets.make + +.PHONY : all clean config default dist doc doc++ exe help html lib TAGS\ + po + +# target all: +# +all: default + $(LOOP) + + +# be careful about deletion. +clean: localclean + -rm -f $(outdir)/* + $(LOOP) + +distclean: clean + $(LOOP) + $(MAKE) local-distclean + +maintainerclean: + $(LOOP) + $(MAKE) local-maintainerclean + $(MAKE) local-distclean + +new-po: + if test -r $(po-dir); then \ + rm -f $(po-dir)/$(outdir)/$(package).po; \ + touch $(po-dir)/$(outdir)/$(package).po; \ + fi + +ifeq ($(strip $(depth)),.) +po: new-po + $(LOOP) +localpo: + @true +else +po: localpo + $(LOOP) +ALL_PO_SOURCES = $(ALL_C_SOURCES) $(wildcard $(outdir)/*.hh) $(wildcard $(outdir)/*.cc) +localpo: +ifneq ($(strip $(ALL_PO_SOURCES)),) + @echo $(ALL_PO_SOURCES) + xgettext --c++ --default-domain=$(package) --join \ + --output-dir=$(po-dir)/$(outdir) --add-comments \ + --keyword=_ --keyword=_f $(ALL_PO_SOURCES) +endif +endif + +po-update: po + $(MAKE) -C $(po-dir) po-update + +show-po-changes: + $(MAKE) -C $(po-dir) show-po-changes + +# configure: +# +config: + ./$(depth)/configure +# + + +# target help: +# +generic-help: + @echo -e "\ +Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\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\ + 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\ +"\ +# + +local-help: + +doc: +# $(MAKE) -C $(depth)/Documentation do-doc + $(MAKE) -C $(depth)/Documentation all + + +# Ugh. C++ specific. +doc++: + (cd $(outdir); sh ../$(step-bindir)/tar-docxx.sh $(package)-$(TOPLEVEL_VERSION).tar.gz) + + + +check-state-vector: + if [ "`tail -1 $(state-vector)`" != "$(TOPLEVEL_VERSION)" ]; then\ + echo $(TOPLEVEL_VERSION) >> $(state-vector); \ + fi + + +localdist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES) + $(LN) $(DIST_FILES) $(distdir)/$(localdir) + +#UGH UGH . make ifdef doesn't mix with string substitution semantics (late expansion vs. early expansion) +# + if [ "$(NON_ESSENTIAL_DIST_FILES)x" != "x" ] ; then \ + $(LN) $(NON_ESSENTIAL_DIST_FILES) $(distdir)/$(localdir); \ + fi + if [ "$(OUT_DIST_FILES)x" != "x" ] ; then \ + mkdir $(distdir)/$(localdir)/out; \ + $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/out; \ + fi + $(foreach i, $(SUBDIRS), mkdir $(distdir)/$(localdir)/$(i); \ + $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) localdist &&) true + + + +html: $(HTML_FILES) + +TAGS: + -if [ "$(TAGS_FILES)" != "" ]; then \ + etags -CT $(TAGS_FILES) || \ + ctags -h ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \ + fi + + $(LOOP) + +$(outdir)/version.hh: VERSION + sh ./$(step-bindir)/make-version.sh > $@ + + +# should this be in Rules? +configure: configure.in aclocal.m4 + autoconf - < $<> $@ + chmod +x configure + +localclean: + +local-distclean: + +local-maintainerclean: + +install-strip: + $(MAKE) INSTALL="$(INSTALL) -s" install + +install: localinstall + $(LOOP) + +localinstall: + +uninstall: localuninstall + $(LOOP) + +localuninstall: + +installextradoc: + $(INSTALL) -d $(prefix)/doc/$(package) + $(foreach i, $(EXTRA_DOC_FILES),\ + cp -r $(i) $(prefix)/doc/$(package) &&) true + +WWW: local-WWW + $(LOOP) + +include $(stepdir)/Package.make +include $(make-dir)/Targets.make + +include $(outdir)/dummy.dep $(DEP_FILES) + +$(outdir)/dummy.dep: + -mkdir $(outdir) + touch $(outdir)/dummy.dep +