]> git.donarmstrong.com Git - lilypond.git/blob - Variables.make
96aa6194dd963f18da63cbb9e76db6d38157b1e5
[lilypond.git] / Variables.make
1 # -*-Makefile-*-
2
3 # version info
4 MAJVER=0
5 MINVER=0
6 PATCHLEVEL=33
7
8
9
10 ####
11 #### USER CONFIGURABLE
12 ####
13
14 #PROFILEFLAG=-pg
15 OPTIFLAG=-DNDEBUG -DNPRINT -O2
16 DEBUGFLAG=-g
17
18 # uncomment for windhoos
19 # CXX=g++
20
21 # turn off -pipe if linker doesn't support it
22 EXTRACXXFLAGS=-pipe -Wall -W   -Wmissing-prototypes 
23
24 #
25 # -lefence = ElectricFence.
26 #
27 # ElectricFence is a memory debugger which uses the 
28 # VM hardware to trap malloc/free errors.
29 #
30
31 EXTRALIB+= #-lefence
32
33 ####
34 #### END USER CONFIGURABLE part.
35 ####
36
37 ifdef PROFILEFLAG
38         DEFINES+=$(OPTIFLAG) $(PROFILEFLAG)
39         EXTRALIB+=-pg
40 endif
41
42 ifndef DEBUGFLAG
43         DEFINES+=$(OPTIFLAG)
44 else
45         DEFINES+=$(DEBUGFLAG)
46 endif
47
48
49
50 VERSION=$(MAJVER).$(MINVER).$(PATCHLEVEL)
51 CXXVER=`$(CXX) --version`
52
53 # directories
54 TOPDIR  := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
55
56 OBJECTDIR=objects
57 HEADERDIR=hdr
58 CCDIR=src
59 INITDIR=init
60 DEPDIR=deps
61 INPUTDIR=input
62
63
64 #
65 include Sources.make
66 gencc=parser.cc lexer.cc
67 cc=$(mycc) $(gencc)
68
69 MY_CCSOURCE=$(addprefix $(CCDIR)/, $(mycc))
70 CCSOURCE=$(addprefix $(CCDIR)/, $(cc))
71 obs=$(addprefix $(OBJECTDIR)/,$(cc:.cc=.o)) 
72 ALLDEPS=$(addprefix $(DEPDIR)/,$(cc:.cc=.dep))
73 STABLEOBS=$(addprefix $(OBJECTDIR)/,$(stablecc:.cc=.o)) 
74 HEADERS=$(addprefix $(HEADERDIR)/,$(hdr)) 
75 progdocs=$(HEADERS) $(MY_CCSOURCE)
76
77 #dist
78 .EXPORT_ALL_VARIABLES:
79
80 DOCDIR=docxx
81
82 PACKAGENAME=lilypond
83 DNAME=$(PACKAGENAME)-$(VERSION)
84
85 # distribution files.
86 othersrc=lexer.l parser.y
87 SCRIPTS=make_version make_patch genheader clearlily
88 MAKFILES=Makefile Variables.make Sources.make Initial.make Generate.make \
89         configure
90 OFILES=COPYING README NEWS TODO ANNOUNCE
91 IFILES=  titledefs.tex lilyponddefs.tex \
92         ltest.tex test.tex .dstreamrc dimen.tex 
93 DFILES=$(MAKFILES) $(OFILES) $(IFILES) $(SCRIPTS)
94
95 #compiling
96 LOADLIBES=-L$(FLOWERDIR) -lflower $(EXTRALIB) -lg++
97 FLOWERDIR=../flower
98
99 CXXFLAGS=$(DEFINES) -I$(HEADERDIR) -I$(FLOWERDIR) $(EXTRACXXFLAGS)
100 FLEX=flex
101 BISON=bison
102 exe=$(PACKAGENAME)
103 OUTPUT_OPTION=$< -o $@
104 DDIR=$(TOPDIR)/$(DNAME)
105 SUBDIRS=Documentation $(OBJECTDIR) $(CCDIR) $(HEADERDIR) $(INITDIR) $(DEPDIR) \
106         $(INPUTDIR)
107
108 depfile=deps/$(subst .o,.dep,$(notdir $@)) 
109 DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(OBJECTDIR)/$(notdir $@)"
110
111 STRIPDEBUG=true #replace to do stripping of certain objects
112 LINKER=$(CXX)
113 include Site.make
114
115 include Site.make