diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..a89f0586 --- /dev/null +++ b/Makefile @@ -0,0 +1,47 @@ +CODE = amount.cc ledger.cc parse.cc gnucash.cc balance.cc +ifndef LIBRARY +CODE := $(CODE) main.cc +endif + +OBJS = $(patsubst %.cc,%.o,$(CODE)) + +CFLAGS = -Wall -ansi -pedantic +DFLAGS = -g +INCS = -I/usr/include/xmltok +LIBS = -lgmpxx -lgmp -lpcre -lxmlparse + +ifdef LIBRARY + +CFLAGS := $(CFLAGS) -fpic + +all: make.deps libledger.so ledger + +libledger.so: $(OBJS) + g++ $(CFLAGS) $(INCS) $(DFLAGS) -shared -fpic -o $@ $(OBJS) $(LIBS) + +ledger: main.cc + g++ $(INCS) $(DFLAGS) -o $@ main.cc -L. -lledger + +else # LIBRARY + +all: make.deps ledger + +ledger: $(OBJS) + g++ $(CFLAGS) $(INCS) $(DFLAGS) -o $@ $(OBJS) $(LIBS) + +endif # LIBRARY + +%.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) main.cc > $@ + +include make.deps |