$NetBSD: patch-Makefile,v 1.3 2019/08/13 18:04:28 seb 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 $< \
 		| tr " " "\n" \
-		| grep -v "^$$" \
+		| sed -e 's/^0//;/^$$/d' \
 		| tr "\n" "," ) && echo "0") > $@
 	echo >> $@