$NetBSD: patch-Makefile,v 1.4 2022/12/15 14:45:57 jperkin Exp $ - leverage pkgsrc CPPFLAGS, CFLAGS and CXXFLAGS handling - take care of 'od -t u1' output variations - do not build the JavaScript implementation --- Makefile.orig 2019-06-03 17:28:46.000000000 +0000 +++ Makefile @@ -29,8 +29,9 @@ OD ?= od OPT ?= -O3 -CXXFLAGS ?= -g $(OPT) -Wall -Wextra -Woverloaded-virtual -pedantic -std=c++0x -fPIC -Iinclude -Ithird_party/md5 -Ithird_party/json -CFLAGS ?= -g $(OPT) -Wall -Wextra -pedantic -std=c99 -fPIC -Iinclude +CPPFLAGS += -Iinclude -Ithird_party/md5 -Ithird_party/json +CXXFLAGS += $(OPT) -Wall -Wextra -Woverloaded-virtual -pedantic -std=c++0x -fPIC +CFLAGS += $(OPT) -Wall -Wextra -pedantic -std=c99 -fPIC MAKEDEPENDFLAGS ?= -Iinclude -Ithird_party/md5 -Ithird_party/json EMCXXFLAGS = $(CXXFLAGS) -g0 -Os --memory-init-file 0 -s DISABLE_EXCEPTION_CATCHING=0 -s OUTLINING_LIMIT=10000 -s RESERVED_FUNCTION_POINTERS=20 -s ASSERTIONS=1 -s ALLOW_MEMORY_GROWTH=1 EMCFLAGS = $(CFLAGS) --memory-init-file 0 -s DISABLE_EXCEPTION_CATCHING=0 -s ASSERTIONS=1 -s ALLOW_MEMORY_GROWTH=1 @@ -68,8 +69,6 @@ ALL = \ libjsonnet++.so \ libjsonnet_test_snippet \ libjsonnet_test_file \ - libjsonnet.js \ - doc/js/libjsonnet.js \ $(LIB_OBJ) ALL_HEADERS = \ @@ -111,21 +110,21 @@ MAKEDEPEND_SRCS = \ depend: rm -f Makefile.depend - for FILE in $(LIB_SRC) $(MAKEDEPEND_SRCS) ; do $(CXX) -MM $(CXXFLAGS) $$FILE -MT $$(dirname $$FILE)/$$(basename $$FILE .cpp).o >> Makefile.depend ; done + for FILE in $(LIB_SRC) $(MAKEDEPEND_SRCS) ; do $(CXX) -MM $(CPPFLAGS) $(CXXFLAGS) $$FILE -MT $$(dirname $$FILE)/$$(basename $$FILE .cpp).o >> Makefile.depend ; done core/desugarer.cpp: core/std.jsonnet.h # Object files %.o: %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ + $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@ # Commandline executable. jsonnet: cmd/jsonnet.cpp cmd/utils.cpp $(LIB_OBJ) - $(CXX) $(CXXFLAGS) $(LDFLAGS) $< cmd/utils.cpp $(LIB_SRC:.cpp=.o) -o $@ + $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $< cmd/utils.cpp $(LIB_SRC:.cpp=.o) -o $@ # Commandline executable (reformatter). jsonnetfmt: cmd/jsonnetfmt.cpp cmd/utils.cpp $(LIB_OBJ) - $(CXX) $(CXXFLAGS) $(LDFLAGS) $< cmd/utils.cpp $(LIB_SRC:.cpp=.o) -o $@ + $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $< cmd/utils.cpp $(LIB_SRC:.cpp=.o) -o $@ # C binding. libjsonnet.so: $(LIB_OBJ) @@ -154,7 +153,7 @@ LIBJSONNET_TEST_SNIPPET_SRCS = \ include/libjsonnet.h libjsonnet_test_snippet: $(LIBJSONNET_TEST_SNIPPET_SRCS) - $(CC) $(CFLAGS) $(LDFLAGS) $< -L. -ljsonnet -o $@ + $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $< -L. -ljsonnet -o $@ LIBJSONNET_TEST_FILE_SRCS = \ core/libjsonnet_test_file.c \ @@ -162,13 +161,13 @@ LIBJSONNET_TEST_FILE_SRCS = \ include/libjsonnet.h libjsonnet_test_file: $(LIBJSONNET_TEST_FILE_SRCS) - $(CC) $(CFLAGS) $(LDFLAGS) $< -L. -ljsonnet -o $@ + $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $< -L. -ljsonnet -o $@ # Encode standard library for embedding in C core/%.jsonnet.h: stdlib/%.jsonnet - (($(OD) -v -Anone -t u1 $< \ + (($(OD) -v -An -t u1 $< \ | tr " " "\n" \ - | grep -v "^$$" \ + | sed -e 's/^0//;/^$$/d' \ | tr "\n" "," ) && echo "0") > $@ echo >> $@