summaryrefslogtreecommitdiff
path: root/Makefile
blob: a64800ef0099259a1a76cf0f38f55e63bb232926 (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
47
48
49
50
51
52
53
54
55
define GNUCASH
true
endef
define HUQUQ
true
endef

CODE =  amount.cc   \
	ledger.cc   \
	parse.cc    \
	balance.cc  \
	register.cc \
	equity.cc   \
	main.cc

OBJS = $(patsubst %.cc,%.o,$(CODE))

CFLAGS = -Wall -ansi -pedantic
DFLAGS = -g -O2 # -O3 -fomit-frame-pointer -mcpu=pentium
INCS   =
LIBS   = -lgmpxx -lgmp -lpcre

ifdef HUQUQ
CFLAGS := $(CFLAGS) -DHUQUQULLAH=1
endif

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

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

ledger.info: ledger.texi
	makeinfo $<

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

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

rebuild: clean deps all

deps: make.deps

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

include make.deps