export KERN_V=$(shell uname -r |awk -F "[.-]" '{ print (((($$1*1000)+$$2)*1000)+$$3)*1000+$$4}')
解释:-F后的[.-]是指awk的分隔符为.和-
在makefile中awk的$都要用$$来代替,因为$在makefile中有特殊的含义。
SUBDIRS= icfsmod net/icfs/ fs/icfs/ .PHONY:clean all: for dir in $(SUBDIRS); do\ $(MAKE) -C $$dir || exit 1;\ done mod: $(MAKE) -C icfsmod #$(MAKE) -C icfsmod modules_install #$(MAKE) -C icfsmod modules_install libicfs: $(MAKE) -C net/icfs icfs: $(MAKE) -C fs/icfs modules: for dir in $(SUBDIRS); do\ $(MAKE) -C $$dir modules || exit 1;\ done modules_install: for dir in $(SUBDIRS); do\ $(MAKE) -C $$dir modules_install || exit 1;\ done clean: for dir in $(SUBDIRS); do\ $(MAKE) -C $$dir clean || exit 1;\ done