summaryrefslogtreecommitdiff
path: root/Makefile
blob: 0a23e21a2a68094d4d9b8cada33f601b680c519e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
CODE   = amount.cc ledger.cc parse.cc reports.cc
OBJS   = $(patsubst %.cc,%.o,$(CODE))
#CXX    = cc
CXX    = g++
CFLAGS = #-Wall -ansi -pedantic
DFLAGS = -O3 -fomit-frame-pointer
DFLAGS = #-g -DDEBUG=1
INCS   = -I/sw/include -I/usr/include/gcc/darwin/3.3/c++ -I/usr/include/gcc/darwin/3.3/c++/ppc-darwin
LIBS   = -L/sw/lib -lgmpxx -lgmp -lpcre

ifdef GNUCASH
CODE   := $(CODE)   gnucash.cc
CFLAGS := $(CFLAGS) -DREAD_GNUCASH=1
INCS   := $(INCS)   -I/usr/include/xmltok
LIBS   := $(LIBS)   -lxmlparse
endif

all: make.deps ledger ledger.info

install: all
	strip ledger
	cp ledger $(HOME)/bin

ledger: $(OBJS)
	$(CXX) $(CFLAGS) $(INCS) $(DFLAGS) -o $@ $(OBJS) $(LIBS)

ledger.info: ledger.texi
	makeinfo $<

%.o: %.cc
	$(CXX) $(CFLAGS) $(INCS) $(DFLAGS) -c -o $@ $<

clean:
	rm -f ledger *.o *.elc *~ .\#*

distclean fullclean: clean
	rm -f ledger.info README.html README.pdf *.elc make.deps

rebuild: clean deps all

deps: make.deps

make.deps: Makefile
	cc -M $(INCS) $(CODE) > $@

include make.deps