blob: 13b71ac9d28a50f518ad18afbea14a3b521eeef9 (
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
56
57
58
59
60
61
62
63
|
define GNUCASH
true
endef
define HUQUQ
true
endef
#
# Example build: make GNUCASH=1 COMMODITY=EUR
#
CODE = amount.cc \
ledger.cc \
parse.cc \
balance.cc \
register.cc \
equity.cc \
main.cc
OBJS = $(patsubst %.cc,%.o,$(CODE))
ifndef COMMODITY
COMMODITY = \$$
endif
CFLAGS = -Wall -ansi -pedantic
CFLAGS := $(CFLAGS) -DDEFAULT_COMMODITY="\"$(COMMODITY)\""
#DFLAGS = -O3 -fomit-frame-pointer
DFLAGS = -g # -O2 # -pg
INCS = -I/usr/include/xmltok
LIBS = -lgmpxx -lgmp -lpcre
ifdef HUQUQ
CFLAGS := $(CFLAGS) -DHUQUQULLAH=1
endif
ifdef GNUCASH
CODE := $(CODE) gnucash.cc
CFLAGS := $(CFLAGS) -DREAD_GNUCASH=1
LIBS := $(LIBS) -lxmlparse
endif
all: make.deps ledger
ledger: $(OBJS)
g++ $(CFLAGS) $(INCS) $(DFLAGS) -o $@ $(OBJS) $(LIBS)
%.o: %.cc
g++ $(CFLAGS) $(INCS) $(DFLAGS) -c -o $@ $<
clean:
rm -f ledger *.o
rebuild: clean deps all
deps: make.deps
make.deps: Makefile
cc -M $(INCS) $(CODE) > $@
include make.deps
|