11 #### USER CONFIGURABLE
15 OPTIFLAG=-DNDEBUG -DNPRINT -O2
18 # uncomment for windhoos
21 # turn off -pipe if linker doesn't support it
22 EXTRACXXFLAGS=-pipe -Wall -W -Wmissing-prototypes -DSTRING_UTILS_INLINED
25 # -lefence = ElectricFence.
27 # ElectricFence is a memory debugger which uses the
28 # VM hardware to trap malloc/free errors.
34 #### END USER CONFIGURABLE part.
38 DEFINES+=$(OPTIFLAG) $(PROFILEFLAG)
50 VERSION=$(MAJVER).$(MINVER).$(PATCHLEVEL)
51 CXXVER=`$(CXX) --version`
54 TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
68 gencc=parser.cc lexer.cc
70 mym2mgencc=midi-parser.cc midi-lexer.cc
71 m2mcc=$(mym2mcc) $(mym2mgencc) $(mym2msharedcc)
73 MY_CCSOURCE=$(addprefix $(CCDIR)/, $(mycc))
74 CCSOURCE=$(addprefix $(CCDIR)/, $(cc))
76 obs=$(addprefix $(OBJECTDIR)/,$(cc:.cc=.o))
77 m2mobs=$(addprefix $(OBJECTDIR)/,$(m2mcc:.cc=.o))
79 allcc=$(mycc) $(mym2mcc)
80 allobs=$(obs) $(m2mobs)
82 M2MCCSOURCE=$(addprefix $(CCDIR)/, $(m2mcc))
83 ALLDEPS=$(addprefix $(DEPDIR)/,$(cc:.cc=.dep))
84 STABLEOBS=$(addprefix $(OBJECTDIR)/,$(stablecc:.cc=.o))
85 allhdr=$(hdr) $(mym2mhh)
86 HEADERS=$(addprefix $(HEADERDIR)/,$(allhdr))
87 progdocs=$(HEADERS) $(MY_CCSOURCE)
90 .EXPORT_ALL_VARIABLES:
95 DNAME=$(PACKAGENAME)-$(VERSION)
99 othersrc=lexer.l parser.y midi-lexer.l midi-parser.y
100 SCRIPTS=make_version make_patch genheader clearlily
101 MAKFILES=Makefile Variables.make Sources.make Initial.make Generate.make \
103 OFILES=COPYING README NEWS TODO ANNOUNCE
104 IFILES= titledefs.tex lilyponddefs.tex \
105 ltest.tex test.tex .dstreamrc dimen.tex
106 DFILES=$(MAKFILES) $(OFILES) $(IFILES) $(SCRIPTS)
109 LOADLIBES=-L$(FLOWERDIR) -lflower $(EXTRALIB) -lg++
112 CXXFLAGS=$(DEFINES) -I$(HEADERDIR) -I$(FLOWERDIR) $(EXTRACXXFLAGS)
117 OUTPUT_OPTION=$< -o $@
118 DDIR=$(TOPDIR)/$(DNAME)
119 SUBDIRS=Documentation $(OBJECTDIR) $(CCDIR) $(HEADERDIR) $(INITDIR) $(DEPDIR) \
122 depfile=deps/$(subst .o,.dep,$(notdir $@))
123 DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(OBJECTDIR)/$(notdir $@)"
125 STRIPDEBUG=true #replace to do stripping of certain objects
129 TAGSACTION=etags -l c++ --no-defines