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
|
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
|
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
|
LIBS := @LIBS@
SHOBJLDFLAGS := @SHOBJLDFLAGS@
VPATH := @srcdir@
srcdir := @srcdir@
prefix := @prefix@
exec_prefix := @exec_prefix@
libdir := @libdir@
TCL_NANO_AMALGAMATION := @TCL_NANO_AMALGAMATION@
PACKAGE_VERSION := @PACKAGE_VERSION@
TCL_PACKAGE_PATH := @TCL_PACKAGE_PATH@
PACKAGE_INSTALL_DIR := $(TCL_PACKAGE_PATH)/tcl-nano$(PACKAGE_VERSION)
INSTALL := @INSTALL@
INSTALL_PROGRAM := @INSTALL_PROGRAM@
INSTALL_DATA := @INSTALL_DATA@
PACKAGE_VERSION := @PACKAGE_VERSION@
TCL_PACKAGE_PATH := @TCL_PACKAGE_PATH@
PACKAGE_INSTALL_DIR := $(TCL_PACKAGE_PATH)/tcl-nano$(PACKAGE_VERSION)
INSTALL := @INSTALL@
INSTALL_PROGRAM := @INSTALL_PROGRAM@
INSTALL_DATA := @INSTALL_DATA@
export CC CFLAGS CPPFLAGS
all: @EXTENSION_TARGET@ pkgIndex.tcl
ifneq ($(TCL_NANO_AMALGAMATION),1)
TCL_NANO_OBJECTS = monocypher.o argon2.o aes.o randombytes.o nano.o
else
TCL_NANO_OBJECTS = nano-amalgamation.o
endif
ifeq (@TCLEXT_BUILD@,shared)
@EXTENSION_TARGET@: $(TCL_NANO_OBJECTS) Makefile
@EXTENSION_TARGET@: monocypher.o argon2.o aes.o randombytes.o nano.o Makefile
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(SHOBJLDFLAGS) -o @EXTENSION_TARGET@ nano.o randombytes.o monocypher.o argon2.o aes.o $(LIBS)
rm -f @EXTENSION_TARGET@
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(SHOBJLDFLAGS) -o @EXTENSION_TARGET@ $(TCL_NANO_OBJECTS) $(LIBS)
-@WEAKENSYMS@ @EXTENSION_TARGET@
-@REMOVESYMS@ @EXTENSION_TARGET@
else
@EXTENSION_TARGET@: nano-amalgamation.o Makefile
-@WEAKENSYMS@ nano-amalgamation.o
@EXTENSION_TARGET@: $(TCL_NANO_OBJECTS) Makefile
rm -f @EXTENSION_TARGET@
-@REMOVESYMS@ nano-amalgamation.o
$(AR) rc @EXTENSION_TARGET@ nano-amalgamation.o
$(AR) rc @EXTENSION_TARGET@ $(TCL_NANO_OBJECTS)
-$(RANLIB) @EXTENSION_TARGET@
endif
# The amalgamation is used when compiling statically so that the same ABI can be exposed
# to upstream projects rather than requiring them to filter out our symbols
nano-amalgamation.c: @srcdir@/nano.c @srcdir@/randombytes.c $(monocypher_dir)monocypher.c $(argon2_dir)argon2.c $(aes_dir)aes.c Makefile
rm -f nano-amalgamation.c
cat @srcdir@/nano.c @srcdir@/randombytes.c $(monocypher_dir)monocypher.c $(argon2_dir)argon2.c $(aes_dir)aes.c > nano-amalgamation.c
nano-amalgamation.o: nano-amalgamation.c $(monocypher_dir)monocypher.h $(argon2_dir)argon2.h $(aes_dir)aes.h @srcdir@/randombytes.h nano.tcl.h Makefile
$(CC) $(CPPFLAGS) -DTCL_NANO_AMALGAMATION=1 $(CFLAGS) -o nano-amalgamation.o -c nano-amalgamation.c
ifneq (@TCLEXT_BUILD@,shared)
-@WEAKENSYMS@ nano-amalgamation.o
-@REMOVESYMS@ nano-amalgamation.o
endif
nano.o: @srcdir@/nano.c $(monocypher_dir)monocypher.h $(argon2_dir)argon2.h $(aes_dir)aes.h @srcdir@/randombytes.h nano.tcl.h Makefile
$(CC) $(CPPFLAGS) $(CFLAGS) -o nano.o -c @srcdir@/nano.c
randombytes.o: @srcdir@/randombytes.c @srcdir@/randombytes.h
$(CC) $(CPPFLAGS) $(CFLAGS) -o randombytes.o -c @srcdir@/randombytes.c
|