@@ -2,9 +2,11 @@ UNAME := $(shell uname)
2
2
TARGET=pltb.out
3
3
CC=gcc
4
4
ifeq ($(UNAME), Darwin)
5
- LFLAGS=-lm
5
+ LFLAGS_STATIC=-Wl,-Bstatic
6
+ LFLAGS_DYNAMIC=-Wl,-Bdynamic -lm
6
7
else
7
- LFLAGS=-lm -lrt
8
+ LFLAGS_STATIC=-Wl,-Bstatic
9
+ LFLAGS_DYNAMIC=-Wl,-Bdynamic -lm -lrt
8
10
endif
9
11
CFLAGS=-c -O3 -std=gnu99 -Wall -Wextra -Wredundant-decls -Wswitch-default \
10
12
-Wimport -Wno-int-to-pointer-cast -Wbad-function-cast \
@@ -19,38 +21,38 @@ default: avx
19
21
20
22
clang: CC := clang
21
23
clang: CFLAGS += -Weverything -pedantic
22
- clang: LFLAGS += -l pll-avx
24
+ clang: LFLAGS_STATIC += -l pll-avx
23
25
clang: $(TARGET)
24
26
25
- avx: LFLAGS += -l pll-avx
27
+ avx: LFLAGS_STATIC += -l pll-avx
26
28
avx: $(TARGET)
27
29
28
- avx-pthreads: LFLAGS += -l pll-avx-pthreads
30
+ avx-pthreads: LFLAGS_STATIC += -l pll-avx-pthreads
29
31
avx-pthreads: $(TARGET)
30
32
31
- sse3: LFLAGS += -l pll-sse3
33
+ sse3: LFLAGS_STATIC += -l pll-sse3
32
34
sse3: $(TARGET)
33
35
34
- sse3-pthreads: LFLAGS += -l pll-sse3-pthreads
36
+ sse3-pthreads: LFLAGS_STATIC += -l pll-sse3-pthreads
35
37
sse3-pthreads: $(TARGET)
36
38
37
39
debug: CFLAGS += -DDEBUG -g -O0
38
40
debug: CFLAGS := $(filter-out -O3,$(CFLAGS))
39
- debug: LFLAGS += -l pll-avx
41
+ debug: LFLAGS_STATIC += -l pll-avx
40
42
debug: $(TARGET)
41
43
42
44
debug-sse3: CFLAGS += -DDEBUG -g -O0
43
45
debug-sse3: CFLAGS := $(filter-out -O3,$(CFLAGS))
44
- debug-sse3: LFLAGS += -l pll-sse3
46
+ debug-sse3: LFLAGS_STATIC += -l pll-sse3
45
47
debug-sse3: $(TARGET)
46
48
47
49
%.o: %.c $(HEADERS)
48
- $(MCC ) $(CFLAGS) -c $< -o $@
50
+ $(CC ) $(CFLAGS) -c $< -o $@
49
51
50
52
.PRECIOUS: $(TARGET) $(OBJECTS)
51
53
52
54
$(TARGET): $(OBJECTS)
53
- $(CC) $(OBJECTS) $(LFLAGS ) -o $@
55
+ $(CC) $(OBJECTS) $(LFLAGS_STATIC) $(LFLAGS_DYNAMIC ) -o $@
54
56
55
57
clean:
56
58
-rm -f src/*.o
0 commit comments