PROJ=libcmd CC=gcc CFLAGS=-g3 LDFLAGS= RAGEL=ragel DOT=dot SOURCE=cmd cmd_parse OBJECTS=$(SOURCE:=.o) SOURCES=$(SOURCE:=.c) %.o: %.c $(CC) $(CFLAGS) -c $< make: dynamic static object dynamic: CFLAGS+=-fPIC dynamic: clean $(OBJECTS) $(CC) $(CFLAGS) $(OBJECTS) -shared -o $(PROJ).so static: clean $(OBJECTS) ar rcs $(PROJ).a $(OBJECTS) object: clean $(OBJECTS) ld -r $(OBJECTS) -o $(PROJ).o ragel: $(RAGEL) cmd_parse.ragel cli: $(CC) $(CFLAGS) -L./ -I./ -lcmd ./test/cmd_cli.c -o ./cmd_cli pdf: $(RAGEL) -V cmd_parse.ragel -o cmd_parse.dot $(DOT) -Tpdf cmd_parse.dot -o cmd_parse.pdf leak: valgrind --leak-check=full --track-origins=yes --log-file=log.txt ./cmd_cli clean: rm -f cmd_cli rm -rf *.so *.o *.dot *.pdf