aboutsummaryrefslogtreecommitdiffstats
path: root/Android.mk
diff options
context:
space:
mode:
Diffstat (limited to 'Android.mk')
-rw-r--r--Android.mk14
1 files changed, 8 insertions, 6 deletions
diff --git a/Android.mk b/Android.mk
index c6d8dfb..0ac774e 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,19 +1,21 @@
WIREGUARD_PATH := $(call my-dir)
+fetch:
+ cd $(WIREGUARD_PATH) && ./fetch.sh
+
TARGET_KERNEL_BINARIES: patch-wireguard
-patch-wireguard:
+patch-wireguard: fetch
ln -vsfT "$$(realpath --relative-to="$(TARGET_KERNEL_SOURCE)/net)" "$(WIREGUARD_PATH)/wireguard/src")" "$(TARGET_KERNEL_SOURCE)/net/wireguard"
grep -q wireguard "$(TARGET_KERNEL_SOURCE)/net/Makefile" || sed -i "/^obj-\\\$$(CONFIG_NETFILTER).*+=/a obj-\$$(CONFIG_WIREGUARD) += wireguard/" "$(TARGET_KERNEL_SOURCE)/net/Makefile"
grep -q wireguard "$(TARGET_KERNEL_SOURCE)/net/Kconfig" || sed -i "/^if INET\$$/a source \"net/wireguard/Kconfig\"" "$(TARGET_KERNEL_SOURCE)/net/Kconfig"
-.PHONY: patch-wireguard
+.PHONY: patch-wireguard fetch
LOCAL_PATH := $(WIREGUARD_PATH)
include $(CLEAR_VARS)
-MNL := $(WIREGUARD_PATH)/libmnl/src
-WG := $(WIREGUARD_PATH)/wireguard/src/tools
-LOCAL_SRC_FILES := $(subst $(WIREGUARD_PATH)/,,$(wildcard $(WG)/*.c $(MNL)/*.c))
-LOCAL_C_INCLUDES := $(MNL)/ $(WG)/ $(MNL)/../include/
+LOCAL_SRC_FILES := $(shell cd $(WIREGUARD_PATH) && ./generate-tools-filelist.sh)
+$(foreach F,$(LOCAL_SRC_FILES),$(WIREGUARD_PATH)/$(F)): fetch
+LOCAL_C_INCLUDES := $(WIREGUARD_PATH)/libmnl/src/ $(WIREGUARD_PATH)/libmnl/include/ $(WIREGUARD_PATH)/wireguard/src/tools/
LOCAL_CFLAGS := -O3 -std=gnu11 -D_GNU_SOURCE -DHAVE_VISIBILITY_HIDDEN -DRUNSTATEDIR="\"/data/local/run\"" -Wno-pointer-arith -Wno-unused-parameter
LOCAL_MODULE := wg
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)