# $Id$ CC = g++ CPPFLAGS += -D USE_64BITS_WORDS CFLAGS = -O3 -g CFLAGS += -Wall $$(pkg-config gtkmm-2.4 --cflags) LIBS = HEADERS = mtx.h mtxinteger.h mtxrational.h mtxmatrix.h mtxexception.h \ mtxdivbyzeroexception.h mtxsingularmatrixexception.h \ mtxvalue.h mtxsymbol.h mtxlanguage.h mtxexpression.h \ mtxwindow.h mtxhistory.h mtxentry.h OBJECTS = mtxinteger.o mtxrational.o mtxmatrix.o \ mtxexception.o mtxdivbyzeroexception.o \ mtxsingularmatrixexception.o mtxvalue.o mtxsymbol.o \ mtxlanguage.o mtxexpression.o CLI_LIBS = -lreadline $(LIBS) CLI_OBJECTS = main_cli.o $(OBJECTS) CLI_BINARY = mtx_cli GUI_LIBS = $$(pkg-config gtkmm-2.4 --libs) $(LIBS) GUI_OBJECTS = main_gui.o mtxwindow.o mtxhistory.o mtxentry.o $(OBJECTS) GUI_BINARY = mtx_gui BINARIES = $(CLI_BINARY) $(GUI_BINARY) DOXYGEN = doxygen DOXYGEN_CONF = mtx.doxygen .PHONY: bin all clean-doc clean bin: $(BINARIES) all: bin doc $(CLI_BINARY): $(CLI_OBJECTS) $(CC) -o $(CLI_BINARY) $(CLI_OBJECTS) $(CLI_LIBS) $(GUI_BINARY): $(GUI_OBJECTS) $(CC) -o $(GUI_BINARY) $(GUI_OBJECTS) $(GUI_LIBS) %.o: %.cc $(HEADERS) $(CC) $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS) -c $< doc: doc/html/index.html doc/html/index.html: $(HEADERS) $(DOXYGEN) $(DOXYGEN_CONF) touch doc clean-doc: rm -rf doc/html clean: clean-doc rm -f $(BINARIES) *.o