Makefile 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. CC=gcc
  2. CFLAGS+= -Wall -D_XOPEN_SOURCE=500
  3. INCLUDE=-Iinclude -Iext/xxHash -Iext/openldap/libraries/liblmdb -Iext/uthash/src
  4. LIB=-luuid -lpthread
  5. SRC=ext/xxHash/xxhash.c ext/openldap/libraries/liblmdb/mdb.c \
  6. ext/openldap/libraries/liblmdb/midl.c src/*.c
  7. .PHONY: build test lint profile
  8. default: test
  9. build:
  10. $(CC) \
  11. $(CFLAGS) -Werror
  12. $(INCLUDE) \
  13. $(LIB) \
  14. $(SRC) \
  15. -o bin/lsup_rdf.so
  16. lint:
  17. splint \
  18. $(INCLUDE) -Itest \
  19. -DUINT_MAX=0xFFFFFFFFUL \
  20. -nullpass \
  21. -posix-lib \
  22. test.c
  23. test:
  24. $(CC) \
  25. $(CFLAGS) -g3 -DDEBUG \
  26. $(INCLUDE) -Itest \
  27. $(LIB) \
  28. $(SRC) test.c \
  29. -o bin/test
  30. test_lexer:
  31. cd src/codec; \
  32. lemon -T/usr/share/lemon/lempar.c nt_grammar && \
  33. re2c nt_lexer.re -o nt_lexer.c -T --case-ranges && \
  34. cd ../../; \
  35. $(CC) \
  36. $(CFLAGS) -g3 -DDEBUG \
  37. $(INCLUDE) -I. \
  38. $(LIB) \
  39. $(SRC) src/codec/nt_lexer.c src/codec/nt_grammar.c \
  40. -o bin/test_lexer
  41. valgrind:
  42. valgrind \
  43. --leak-check=full --show-leak-kinds=all --track-origins=yes \
  44. ./bin/test
  45. memcheck: test valgrind
  46. profile:
  47. $(CC) \
  48. $(CFLAGS) \
  49. $(INCLUDE) \
  50. $(LIB) \
  51. $(SRC) profile.c \
  52. -o bin/profile