summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2015-08-20 04:39:16 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2015-10-07 03:26:18 +0200
commitcaed07571cd9cb8c23b6cc7aa37fefa06f379a3d (patch)
tree7fbd6f6bd9cb9101115365e259f43644f7fe6fdf /Makefile
downloadkernel-routing-table-linked-list.tar.xz
kernel-routing-table-linked-list.zip
Very basic linked list implementationHEADlinked-list
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile26
1 files changed, 26 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..986102e
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,26 @@
+ifneq ($(KERNELRELEASE),)
+obj-m := lctrie.o
+ccflags-y += -DDEBUG -g -DGIT_REVISION="KBUILD_STR($(shell git --git-dir="$(M)/.git" rev-parse --abbrev-ref HEAD):$(shell git --git-dir="$(M)/.git" rev-parse --short HEAD))"
+lctrie-y := main.o routing-table.o
+else
+KERNELDIR ?= /lib/modules/$(shell uname -r)/build
+PWD := $(shell pwd)
+
+all:
+ $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
+clean:
+ $(MAKE) -C $(KERNELDIR) M=$(PWD) clean
+
+
+REMOTE_HOST ?= root@172.16.48.128
+SSH_OPTS := -q -o ControlMaster=auto -o ControlPath=.ssh-deployment.sock
+RSYNC_OPTS := --include="*.c" --include="*.h" --include="Makefile" --include=".git/***" --exclude="*" -aq
+
+remote:
+ ssh $(SSH_OPTS) -Nf $(REMOTE_HOST)
+ rsync --rsh="ssh $(SSH_OPTS)" $(RSYNC_OPTS) . $(REMOTE_HOST):lctrie-build/
+ -ssh $(SSH_OPTS) $(REMOTE_HOST) 'rmmod lctrie; cd lctrie-build && make -j5 all && insmod lctrie.ko'
+ ssh $(SSH_OPTS) -O exit $(REMOTE_HOST)
+
+.PHONY: all clean
+endif