Browse Source

Fix Makefile syntax for clang; address clang warnings.

scossu 11 months ago
parent
commit
cc2b6a57c7
5 changed files with 30 additions and 24 deletions
  1. 21 15
      Makefile
  2. 6 6
      src/codec/Makefile
  3. 1 1
      src/codec/codec_ttl.c
  4. 1 1
      src/codec/lexer_nt.re
  5. 1 1
      src/codec/lexer_ttl.re

+ 21 - 15
Makefile

@@ -9,36 +9,36 @@ AR = ar
 ## Paths.
 
 PREFIX ?= /usr/local
-bindir = $(PREFIX)/bin
-libdir = $(PREFIX)/lib
+bindir := $(PREFIX)/bin
+libdir := $(PREFIX)/lib
 includedir = $(PREFIX)/include/lsup
 outdir = ./bin
 VALGRIND_DUMP = /tmp/lsup_valgrind.log
 CALLGRIND_DUMP = /tmp/lsup_callgrind.out
 MASSIF_DUMP = /tmp/lsup_massif.out
 
-INCLUDE_BASE = . -Iinclude -Iext/tpl/src -Iext/hashmap -Iext/log/src
-INCLUDE = -I$(INCLUDE_BASE)
-_CFLAGS = -std=gnu11 -Wall -fPIC -MMD $(INCLUDE)
+INCLUDE_BASE := . -Iinclude -Iext/tpl/src -Iext/hashmap -Iext/log/src
+INCLUDE := -I$(INCLUDE_BASE)
+_CFLAGS := -std=gnu11 -Wall -fPIC -MMD $(INCLUDE)
 CFLAGS = $(_CFLAGS) -O3
 DBG_CFLAGS = $(_CFLAGS) -Itest -O0 -g3 -DDEBUG
 #$(info CFLAGS: $(CFLAGS))
 #$(info DBG_CFLAGS: $(DBG_CFLAGS))
 # NOTE: -luuid is a Linux system library. Other OS's might need a different
 # link or a non-system library built.
-LDFLAGS = -L. -L$(outdir) -L$(libdir) -llmdb -lxxhash -luuid
+LDFLAGS := -L. -L$(outdir) -L$(libdir) -llmdb -lxxhash -luuid
 
 PARSER = bin/lemon
 LEMON_SRC = ext/sqlite/tool/lemon.c
 CODEC_DIR = src/codec
 
 # External sources compiled in core object.
-EXT_SRC = $(wildcard ext/log/src/*.c) \
+EXT_SRC := $(wildcard ext/log/src/*.c) \
 	  	  $(wildcard ext/hashmap/*.c) \
 	  	  $(wildcard ext/tpl/src/*.c)
 
 # External headers of libraries compiled in core.
-EXT_H = $(wildcard ext/log/src/*.h) \
+EXT_H := $(wildcard ext/log/src/*.h) \
 	  	$(wildcard ext/tpl/src/*.h) \
 	  	$(wildcard ext/hashmap/*.h)
 
@@ -46,12 +46,11 @@ LSUP_SRC = $(wildcard src/*.c)
 SRC = $(EXT_SRC) $(LSUP_SRC)
 TEST_SRC = $(wildcard test/*.c) test.c
 
-EXT_OBJ = $(EXT_SRC:.c=.o)
+EXT_OBJ := $(EXT_SRC:.c=.o)
 # TODO This is extremely convoluted, simplify if possible.
-CODEC_SRC ::= $(wildcard $(CODEC_DIR)/codec_*.c)
-CODEC_REL_SRC ::= $(CODEC_SRC:$(CODEC_DIR)/%=%)
-$(info CODEC_SRC: $(CODEC_SRC))
-ALL_CODEC_REL_SRC = $(CODEC_REL_SRC) $(CODEC_REL_SRC:codec_%=parser_%) \
+CODEC_SRC := $(wildcard $(CODEC_DIR)/codec_*.c)
+CODEC_REL_SRC := $(CODEC_SRC:$(CODEC_DIR)/%=%)
+ALL_CODEC_REL_SRC := $(CODEC_REL_SRC) $(CODEC_REL_SRC:codec_%=parser_%) \
 			$(CODEC_REL_SRC:codec_%=grammar_%)
 CODEC_SRC = $(ALL_CODEC_REL_SRC:%=$(CODEC_DIR)/%)
 CODEC_OBJ = $(CODEC_SRC:.c=.o)
@@ -66,6 +65,13 @@ DYN_DBG_LIB = $(outdir)/liblsuprdf_dbg.so
 LIBS = $(STATIC_LIB) $(DYN_LIB)
 DBG_LIBS = $(STATIC_DBG_LIB) $(DYN_DBG_LIB)
 
+# LDD for Linux, otool -L for OSX.
+ifdef $(shell which ldd 2> /dev/null)
+LDD := ldd
+else
+LDD := otool -L
+endif
+
 # For visual dep graph.
 DEPS := $(shell echo "${INCLUDE_BASE}" | sed -e 's/ -I/,/g'),include/codec
 DOCS = docs
@@ -173,13 +179,13 @@ bin/test: debug $(TEST_SRC)
 
 .PHONY: test
 test: bin/test ## Run a test suite.
-	@echo "Using libraries: "; ldd bin/test
+	@echo "Using libraries: "; $(LDD) bin/test
 	exec bin/test
 
 
 .PHONY: gdb_test
 gdb_test: bin/test ## Run a test suite within gdb.
-	@echo "Using libraries: "; ldd bin/test
+	@echo "Using libraries: "; $(LDD) bin/test
 	exec gdb bin/test
 
 

+ 6 - 6
src/codec/Makefile

@@ -7,16 +7,16 @@ LEMON_SRC_DIR = $(BASEDIR)/ext/sqlite/tool
 INCLUDE_DIR = $(BASEDIR)/include
 CODEC_INCLUDE_DIR = $(INCLUDE_DIR)/codec
 
-CODEC_SRC = $(wildcard codec_*.c)
-PARSER_SRC = $(CODEC_SRC:codec_%=parser_%)
-CODEC_OBJ = $(CODEC_SRC:.c=.o)
-PARSER_OBJ = $(CODEC_OBJ:codec_%=parser_%)
-GRAMMAR_OBJ = $(CODEC_OBJ:codec_%=grammar_%)
+CODEC_SRC := $(wildcard codec_*.c)
+PARSER_SRC := $(CODEC_SRC:codec_%=parser_%)
+CODEC_OBJ := $(CODEC_SRC:.c=.o)
+PARSER_OBJ := $(CODEC_OBJ:codec_%=parser_%)
+GRAMMAR_OBJ := $(CODEC_OBJ:codec_%=grammar_%)
 OBJ = $(GRAMMAR_OBJ) $(PARSER_OBJ) $(CODEC_OBJ)
 DBG_OBJ = $(OBJ:%.o=%_dbg.o)
 $(info DBG_OBJ: $(DBG_OBJ))
 
-INCLUDE = -I$(INCLUDE_DIR) -I../../ext/tpl/src -I../../ext/hashmap \
+INCLUDE := -I$(INCLUDE_DIR) -I../../ext/tpl/src -I../../ext/hashmap \
 	-I../../ext/log/src
 CFLAGS = -std=gnu11 -Wall -fPIC -MMD $(INCLUDE)
 DBG_CFLAGS = -I../../test -O0 -g3 -DDEBUG

+ 1 - 1
src/codec/codec_ttl.c

@@ -26,7 +26,7 @@ static LSUP_rc
 term_to_ttl (const LSUP_Term *term, const LSUP_NSMap *nsm, char **out_p)
 {
     LSUP_rc rc;
-    char *tmp = NULL, *out;
+    char *tmp = NULL, *out = NULL;
     char *metadata = NULL;
     size_t buf_len;
 

+ 1 - 1
src/codec/lexer_nt.re

@@ -316,7 +316,7 @@ LSUP_nt_parse_doc (FILE *fh, LSUP_Graph **gr_p, size_t *ct, char **err_p)
     rc = parse_it.ct > 0 ? LSUP_OK : LSUP_NORESULT;
     *gr_p = gr;
 
-finally:
+finally: ;
     NTParse (parser, 0, NULL, it);
     NTParseFree (parser, free);
 

+ 1 - 1
src/codec/lexer_ttl.re

@@ -428,7 +428,7 @@ LSUP_ttl_parse_doc (FILE *fh, LSUP_Graph **gr_p, size_t *ct, char **err_p)
 
     *gr_p = gr;
 
-finally:
+finally: ;
     LSUP_rc rc = state->rc;
     log_trace ("rc is %d", rc);