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