File: makefile.patch

package info (click to toggle)
kmc 3.2.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 4,132 kB
  • sloc: cpp: 39,219; python: 372; perl: 179; makefile: 157; sh: 34
file content (82 lines) | stat: -rw-r--r-- 3,104 bytes parent folder | download
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
Description: Hardening
Subject: hardening
From: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
---
 makefile | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

--- kmc.orig/Makefile
+++ kmc/Makefile
@@ -20,12 +20,10 @@
 
 	PY_KMC_API_CFLAGS = -Wl,-undefined,dynamic_lookup -fPIC -Wall -shared -std=c++14 -O3
 else
-	CC 	= g++
-
-	CFLAGS	= -Wall -O3 -m64 -static -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -std=c++14
-	CLINK	= -lm -static -O3 -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -std=c++14
-
-	PY_KMC_API_CFLAGS = -fPIC -Wall -shared -std=c++14 -O3
+	KMC_TOOLS_CXXFLAGS := $(CXXFLAGS) -Wall -O3
+	KMC_TOOLS_LDFLAGS  := $(LDFLAGS) -lm -O3 -lpthread -std=c++14 -lz -lbz2
+	CXXFLAGS += -Wall -O3
+	LDFLAGS  += -lm -O3 -lpthread -std=c++11 -lz -lbz2
 endif
 
 KMC_CLI_OBJS = \
@@ -92,16 +90,16 @@
 
 
 $(KMC_CLI_OBJS) $(KMC_CORE_OBJS) $(KMC_DUMP_OBJS) $(KMC_API_OBJS) $(KFF_OBJS) $(KMC_TOOLS_OBJS): %.o: %.cpp
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@
 
 $(KMC_MAIN_DIR)/raduls_sse2.o: $(KMC_MAIN_DIR)/raduls_sse2.cpp
-	$(CC) $(CFLAGS) -msse2 -c $< -o $@
+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -msse2 -c $< -o $@
 $(KMC_MAIN_DIR)/raduls_sse41.o: $(KMC_MAIN_DIR)/raduls_sse41.cpp
-	$(CC) $(CFLAGS) -msse4.1 -c $< -o $@
+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -msse4.1 -c $< -o $@
 $(KMC_MAIN_DIR)/raduls_avx.o: $(KMC_MAIN_DIR)/raduls_avx.cpp
-	$(CC) $(CFLAGS) -mavx -c $< -o $@
+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -mavx -c $< -o $@
 $(KMC_MAIN_DIR)/raduls_avx2.o: $(KMC_MAIN_DIR)/raduls_avx2.cpp
-	$(CC) $(CFLAGS) -mavx2 -c $< -o $@
+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -mavx2 -c $< -o $@
 
 $(LIB_KMC_CORE): $(KMC_CORE_OBJS) $(RADULS_OBJS) $(KMC_API_OBJS) $(KFF_OBJS)
 	-mkdir -p $(OUT_INCLUDE_DIR)
@@ -111,26 +109,27 @@
 
 kmc: $(KMC_CLI_OBJS) $(LIB_KMC_CORE)
 	-mkdir -p $(OUT_BIN_DIR)
-	$(CC) $(CLINK) -o $(OUT_BIN_DIR)/$@ $^ $(KMC_LIBS)
+	$(CXX) -o $(OUT_BIN_DIR)/$@ $^ $(KMC_LIBS) $(LDFLAGS)
 
 kmc_dump: $(KMC_DUMP_OBJS) $(KMC_API_OBJS)
 	-mkdir -p $(OUT_BIN_DIR)
-	$(CC) $(CLINK) -o $(OUT_BIN_DIR)/$@ $^
+	$(CXX) -o $(OUT_BIN_DIR)/$@ $^ $(LDFLAGS)
 
 kmc_tools: $(KMC_TOOLS_OBJS) $(KMC_API_OBJS) $(KFF_OBJS)
 	-mkdir -p $(OUT_BIN_DIR)
-	$(CC) $(CLINK) -o $(OUT_BIN_DIR)/$@ $^ $(KMC_TOOLS_LIBS)
+	$(CXX) -o $(OUT_BIN_DIR)/$@ $^ $(KMC_TOOLS_LIBS) $(LDFLAGS)
 
 $(PY_KMC_API_DIR)/%.o: $(KMC_API_DIR)/%.cpp
-	$(CC) -c -fPIC -Wall -O3 -m64 -std=c++14 $^ -o $@
+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -fPIC -Wall -O3 -m64 -std=c++14 $^ -o $@
 
 py_kmc_api: $(PY_KMC_API_OBJS) $(PY_KMC_API_OBJS)
 	-mkdir -p $(OUT_BIN_DIR)
-	$(CC) $(PY_KMC_API_CFLAGS) $(PY_KMC_API_DIR)/py_kmc_api.cpp $(PY_KMC_API_OBJS) \
+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PY_KMC_API_CFLAGS) $(PY_KMC_API_DIR)/py_kmc_api.cpp $(PY_KMC_API_OBJS) \
 	-I $(KMC_API_DIR) \
 	-I $(PY_KMC_API_DIR)/libs/pybind11/include \
 	-I `python3 -c "import sysconfig;print(sysconfig.get_paths()['include'])"` \
-	-o $(OUT_BIN_DIR)/$@`python3-config --extension-suffix`
+	-o $(OUT_BIN_DIR)/$@`python3-config --extension-suffix` \
+	$(LDFLAGS)
 
 clean:
 	-rm -f $(KMC_MAIN_DIR)/*.o