########################################################################
# DESCRIPTION: Used to compile CEPH (the kernel client)
# CREATE DATE: 2017-04-02
# AUTHOR :
# USAGE : (1) make [mod|libicfs|icfs]
# (2) make modules
# (3) make modules_install
# (4) make clean
########################################################################
export WORK_DIR = $(shell pwd)
export KERNEL_VERSION = $(shell uname -r)
export KERNEL_DIR = /usr/src/kernels/$(KERNEL_VERSION)/
export C_INCLUDE_PATH=$(WORK_DIR)/include
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
# DESCRIPTION: Used to compile CEPH (the kernel client)
# CREATE DATE: 2017-04-02
# AUTHOR :
# USAGE : (1) make [mod|libicfs|icfs]
# (2) make modules
# (3) make modules_install
# (4) make clean
########################################################################
export WORK_DIR = $(shell pwd)
export KERNEL_VERSION = $(shell uname -r)
export KERNEL_DIR = /usr/src/kernels/$(KERNEL_VERSION)/
export C_INCLUDE_PATH=$(WORK_DIR)/include
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