GRAMMAR = expenses LEX = src/grammar/$(GRAMMAR).l YACC = src/grammar/$(GRAMMAR).y BUILDPATH = ./build LOCPATH = ./bin SRC = src/grammar/types.c $(BUILDPATH)/$(GRAMMAR)/expenses.yy.c $(BUILDPATH)/$(GRAMMAR)/expenses.tab.c src/bot/handlers.c src/bot/context.c src/main.c INSTALLPATH = /usr/local CFLAGS = `pkg-config --cflags glib-2.0` LFLAGS = -lstrophe `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)/$(GRAMMAR) flex -o $(BUILDPATH)/$(GRAMMAR)/expenses.yy.c $(LEX) bison -o $(BUILDPATH)/$(GRAMMAR)/expenses.tab.c -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)