-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbootstrap-linux.sh
More file actions
executable file
·83 lines (81 loc) · 18.5 KB
/
bootstrap-linux.sh
File metadata and controls
executable file
·83 lines (81 loc) · 18.5 KB
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
82
83
#!/bin/sh
set -ex
cd "$(dirname "$0")"
# Create output directories
mkdir -p "build"
mkdir -p "build/test/unit"
(cd "configs" && cp linux.config ../build/tup.config)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/main.cpp -o build/main.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/platform/path-posix.cpp -o build/path-posix.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/platform/env-posix.cpp -o build/env-posix.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/platform/file_io-posix.cpp -o build/file_io-posix.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/platform/process-posix.cpp -o build/process-posix.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/cli/target.cpp -o build/target.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/cli/output.cpp -o build/output.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/cli/options.cpp -o build/options.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/cli/multi_variant.cpp -o build/multi_variant.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/cli/context.cpp -o build/context.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/cli/config_commands.cpp -o build/config_commands.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/cli/cmd_parse.cpp -o build/cmd_parse.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/cli/cmd_show.cpp -o build/cmd_show.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/cli/cmd_configure.cpp -o build/cmd_configure.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/cli/cmd_clean.cpp -o build/cmd_clean.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/cli/cmd_build.cpp -o build/cmd_build.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/exec/scheduler.cpp -o build/scheduler.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/exec/runner.cpp -o build/runner.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/exec/progress_display.cpp -o build/progress_display.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/index/writer.cpp -o build/writer.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/index/reader.cpp -o build/reader.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/index/entry.cpp -o build/entry.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/graph/topo.cpp -o build/topo.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/graph/scanners/gcc.cpp -o build/gcc.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/graph/rule_pattern.cpp -o build/rule_pattern.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/graph/dep_scanner.cpp -o build/dep_scanner.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/graph/dag.cpp -o build/dag.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/graph/builder.cpp -o build/builder.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/parser/var_tracking.cpp -o build/var_tracking.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/parser/parser.cpp -o build/parser.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/parser/lexer.cpp -o build/lexer.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/parser/ignore.cpp -o build/ignore.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/parser/glob.cpp -o build/glob.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/parser/eval.cpp -o build/eval.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/parser/depfile.cpp -o build/depfile.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/parser/config.cpp -o build/config.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/parser/ast.cpp -o build/ast.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/core/terminal.cpp -o build/terminal.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/core/string_utils.cpp -o build/string_utils.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/core/string_pool.cpp -o build/string_pool.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/core/path_utils.cpp -o build/path_utils.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/core/metrics.cpp -o build/metrics.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/core/layout.cpp -o build/layout.o)
(cd "." && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I./include -I./third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c src/core/hash.cpp -o build/hash.o)
(cd "." && gcc -std=c11 -Wall -Wextra -Werror -fPIC -I./third_party -O2 -ffunction-sections -fdata-sections -Wno-error -c third_party/sha256/sha256.c -o build/sha256.o)
(cd "." && g++ build/sha256.o build/hash.o build/layout.o build/metrics.o build/path_utils.o build/string_pool.o build/string_utils.o build/terminal.o build/ast.o build/config.o build/depfile.o build/eval.o build/glob.o build/ignore.o build/lexer.o build/parser.o build/var_tracking.o build/builder.o build/dag.o build/dep_scanner.o build/rule_pattern.o build/gcc.o build/topo.o build/entry.o build/reader.o build/writer.o build/progress_display.o build/runner.o build/scheduler.o build/cmd_build.o build/cmd_clean.o build/cmd_configure.o build/cmd_show.o build/cmd_parse.o build/config_commands.o build/context.o build/multi_variant.o build/options.o build/output.o build/target.o build/process-posix.o build/file_io-posix.o build/env-posix.o build/path-posix.o build/main.o -o build/putup -Wl,--gc-sections )
(cd "." && ar rcs build/libputup.a build/sha256.o build/hash.o build/layout.o build/metrics.o build/path_utils.o build/string_pool.o build/string_utils.o build/terminal.o build/ast.o build/config.o build/depfile.o build/eval.o build/glob.o build/ignore.o build/lexer.o build/parser.o build/var_tracking.o build/builder.o build/dag.o build/dep_scanner.o build/rule_pattern.o build/gcc.o build/topo.o build/entry.o build/reader.o build/writer.o build/progress_display.o build/runner.o build/scheduler.o build/cmd_build.o build/cmd_clean.o build/cmd_configure.o build/cmd_show.o build/cmd_parse.o build/config_commands.o build/context.o build/multi_variant.o build/options.o build/output.o build/target.o build/process-posix.o build/file_io-posix.o build/env-posix.o build/path-posix.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_var_tracking.cpp -o ../../build/test/unit/test_var_tracking.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_types.cpp -o ../../build/test/unit/test_types.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_target.cpp -o ../../build/test/unit/test_target.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_string_utils.cpp -o ../../build/test/unit/test_string_utils.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_rule_pattern.cpp -o ../../build/test/unit/test_rule_pattern.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_platform_process.cpp -o ../../build/test/unit/test_platform_process.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_platform_file_io.cpp -o ../../build/test/unit/test_platform_file_io.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_path_utils.cpp -o ../../build/test/unit/test_path_utils.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_parser.cpp -o ../../build/test/unit/test_parser.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_main.cpp -o ../../build/test/unit/test_main.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_lexer.cpp -o ../../build/test/unit/test_lexer.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_layout.cpp -o ../../build/test/unit/test_layout.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_index.cpp -o ../../build/test/unit/test_index.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_ignore.cpp -o ../../build/test/unit/test_ignore.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_hash.cpp -o ../../build/test/unit/test_hash.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_graph.cpp -o ../../build/test/unit/test_graph.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_glob.cpp -o ../../build/test/unit/test_glob.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_exec.cpp -o ../../build/test/unit/test_exec.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_eval.cpp -o ../../build/test/unit/test_eval.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_e2e.cpp -o ../../build/test/unit/test_e2e.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_depfile.cpp -o ../../build/test/unit/test_depfile.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_dep_scanner.cpp -o ../../build/test/unit/test_dep_scanner.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_builder.cpp -o ../../build/test/unit/test_builder.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c test_bench.cpp -o ../../build/test/unit/test_bench.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -c e2e_fixture.cpp -o ../../build/test/unit/e2e_fixture.o)
(cd "test/unit" && g++ -std=c++20 -Wall -Wextra -Werror -Wpedantic -fPIC -fno-exceptions -fno-rtti -I../../include -I../../third_party -O2 -DNDEBUG -ffunction-sections -fdata-sections -Wno-error -c ../../third_party/catch_amalgamated.cpp -o ../../build/test/unit/catch_amalgamated.o)
(cd "test/unit" && g++ ../../build/test/unit/test_bench.o ../../build/test/unit/test_builder.o ../../build/test/unit/test_dep_scanner.o ../../build/test/unit/test_depfile.o ../../build/test/unit/test_e2e.o ../../build/test/unit/test_eval.o ../../build/test/unit/test_exec.o ../../build/test/unit/test_glob.o ../../build/test/unit/test_graph.o ../../build/test/unit/test_hash.o ../../build/test/unit/test_ignore.o ../../build/test/unit/test_index.o ../../build/test/unit/test_layout.o ../../build/test/unit/test_lexer.o ../../build/test/unit/test_main.o ../../build/test/unit/test_parser.o ../../build/test/unit/test_path_utils.o ../../build/test/unit/test_platform_file_io.o ../../build/test/unit/test_platform_process.o ../../build/test/unit/test_rule_pattern.o ../../build/test/unit/test_string_utils.o ../../build/test/unit/test_target.o ../../build/test/unit/test_types.o ../../build/test/unit/test_var_tracking.o ../../build/test/unit/catch_amalgamated.o ../../build/test/unit/e2e_fixture.o ../../build/libputup.a -o ../../build/test/unit/putup_test -Wl,--gc-sections )