1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
$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 >> $@
|