summaryrefslogtreecommitdiff
path: root/Makefile
blob: fb139113238b012a720cdb1f5d62f4be03861fd1 (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
define GNUCASH
true
endef

CODE =  amount.cc ledger.cc parse.cc balance.cc register.cc main.cc
ifdef GNUCASH
CODE := $(CODE) gnucash.cc
endif

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

CFLAGS = -Wall -ansi -pedantic -DHUQUQULLAH=1
#DFLAGS = -O3 -fomit-frame-pointer
DFLAGS = -g # -pg
INCS   = -I/usr/include/xmltok
LIBS   = -lgmpxx -lgmp -lpcre
ifdef GNUCASH
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 libledger.so ledger *.o

rebuild: clean deps all

deps: make.deps

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

include make.deps