1 |
# Kernel |
2 |
# |
3 |
# Douglas Thrift |
4 |
# |
5 |
# $Id$ |
6 |
|
7 |
kernels := $(wildcard */*) |
8 |
install_kernels := $(foreach kernel,$(kernels),install_$(dir $(kernel))_$(notdir $(kernel))) |
9 |
|
10 |
.PHONY: all install $(install_kernels) clean |
11 |
|
12 |
all: $(kernels) |
13 |
|
14 |
define all_kernel |
15 |
$(1): /usr/src/sys/$(dir $(1))conf/GENERIC |
16 |
vimdiff $$@ $$< |
17 |
endef |
18 |
|
19 |
$(foreach kernel,$(kernels),$(eval $(call all_kernel,$(kernel)))) |
20 |
|
21 |
install: all $(install_kernels) |
22 |
|
23 |
define install_kernel |
24 |
install_$(dir $(1))_$(notdir $(1)): |
25 |
ln -sf $(realpath $(1)) /usr/src/sys/$(dir $(1))conf |
26 |
endef |
27 |
|
28 |
$(foreach kernel,$(kernels),$(eval $(call install_kernel,$(kernel)))) |
29 |
|
30 |
clean: |
31 |
for file in /usr/src/sys/*/conf/*; do [ -L $$file ] && [ ! -f `readlink $$file` ] && rm -f $$file || true; done |