diff options
Diffstat (limited to 'src/so.mk')
-rw-r--r-- | src/so.mk | 23 |
1 files changed, 7 insertions, 16 deletions
@@ -3,20 +3,11 @@ | |||
3 | # Note: $(ROOT)/config.mk must be included before this file. | 3 | # Note: $(ROOT)/config.mk must be included before this file. |
4 | # | 4 | # |
5 | # The includer should probably define SO and TARGET and may also want to define | 5 | # The includer should probably define SO and TARGET and may also want to define |
6 | # MOD_HDRS, MOD_SRCS, MOD_OBJS, TOCLEAN and TODISTCLEAN. | 6 | # EXTRA_HDRS and EXTRA_OBJS and extend CLEANFILES. |
7 | 7 | ||
8 | HDRS := $(sort $(wildcard *.h)) $(MOD_HDRS) | 8 | HDRS := $(sort $(wildcard *.h)) $(EXTRA_HDRS) |
9 | SRCS := $(sort $(wildcard *.c)) $(MOD_SRCS) | 9 | SRCS := $(sort $(wildcard *.c)) |
10 | OBJS := $(SRCS:.c=.o) $(MOD_OBJS) | 10 | OBJS := $(SRCS:.c=.o) $(EXTRA_OBJS) |
11 | |||
12 | SO_CFLAGS = \ | ||
13 | -ggdb -O2 -DVERSION='"$(VERSION)"' \ | ||
14 | -Wall -Wextra $(HAVE_FATAL_WARNINGS) \ | ||
15 | -Wformat -Wformat-security \ | ||
16 | -fstack-protector-all -D_FORTIFY_SOURCE=2 \ | ||
17 | -fPIC | ||
18 | |||
19 | SO_LDFLAGS = -pie -fPIE -Wl,-z,relro -Wl,-z,now | ||
20 | 11 | ||
21 | .PHONY: all | 12 | .PHONY: all |
22 | all: $(TARGET) | 13 | all: $(TARGET) |
@@ -25,10 +16,10 @@ all: $(TARGET) | |||
25 | $(CC) $(SO_CFLAGS) $(CFLAGS) $(INCLUDE) -c $< -o $@ | 16 | $(CC) $(SO_CFLAGS) $(CFLAGS) $(INCLUDE) -c $< -o $@ |
26 | 17 | ||
27 | $(SO): $(OBJS) $(ROOT)/config.mk | 18 | $(SO): $(OBJS) $(ROOT)/config.mk |
28 | $(CC) $(SO_LDFLAGS) -shared -fPIC -z relro $(LDFLAGS) -o $@ $(OBJS) -ldl | 19 | $(CC) $(SO_LDFLAGS) -shared $(LDFLAGS) -o $@ $(OBJS) -ldl |
29 | 20 | ||
30 | .PHONY: clean | 21 | .PHONY: clean |
31 | clean:; rm -fr $(OBJS) $(SO) *.plist $(TOCLEAN) | 22 | clean:; rm -fr $(SO) $(CLEANFILES) |
32 | 23 | ||
33 | .PHONY: distclean | 24 | .PHONY: distclean |
34 | distclean: clean; rm -fr $(TODISTCLEAN) | 25 | distclean: clean |