BOT = expenses LEX = src/$(BOT)/lex.l YACC = src/$(BOT)/grammar.y BUILDPATH = ./build LOCPATH = ./bin OLEX = $(BUILDPATH)/$(BOT)/lex.yy.c OYACC = $(BUILDPATH)/$(BOT)/grammar.tab.c SRC = src/$(BOT)/types.c src/$(BOT)/csv.c $(OLEX) $(OYACC) src/core/handlers.c src/core/context.c src/main.c INSTALLPATH = /usr/local CFLAGS = `pkg-config --cflags glib-2.0` LFLAGS = -lstrophe -lssl -lcrypto `pkg-config --libs glib-2.0` DEBFLAGS = -g -Wall OFLAGS = -O2 NAME = xmpp-bot all: grammar mkdir -p $(LOCPATH) gcc $(SRC) -o $(LOCPATH)/$(NAME) $(CFLAGS) $(OFLAGS) $(LFLAGS) $(LFLAGS_STATUS) nostatus: grammar mkdir -p $(LOCPATH) gcc $(SRC) -o $(LOCPATH)/$(NAME) $(OFLAGS) $(LFLAGS) debug: grammar mkdir -p $(LOCPATH)/debug gcc $(SRC) -o $(LOCPATH)/debug/$(NAME)_debug $(CFLAGS) $(LFLAGS) $(DEBFLAGS) $(LFLAGS_STATUS) prof: grammar mkdir -p $(LOCPATH)/prof gcc $(SRC) -o $(LOCPATH)/prof/$(NAME)_prof $(CFLAGS) $(LFLAGS) $(LFLAGS_STATUS) -pg asan: grammar gcc $(SRC) -o $(LOCPATH)/debug/$(NAME)_debug_asan $(CFLAGS) $(LFLAGS) $(DEBFLAGS) $(LFLAGS_STATUS) -fsanitize=address grammar: mkdir -p $(BUILDPATH)/$(BOT) flex -o $(OLEX) $(LEX) bison -o $(OYACC) -d $(YACC) clean: rm -rf $(BUILDPATH) rm -f $(LOCPATH)/debug/$(NAME)_debug rm -f $(LOCPATH)/$(NAME) rm -f $(LOCPATH)/debug/$(NAME)_debug distclean: rm -rf $(BUILDPATH) rm -r $(LOCPATH) install: cp $(LOCPATH)/$(NAME) $(INSTALLPATH)/bin/$(NAME) uninstall: rm $(INSTALLPATH)/bin/$(NAME)