Makefile 中awk的执行

    xiaoxiao2021-03-25  104

    ######################################################################## # 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
    转载请注明原文地址: https://ju.6miu.com/read-12848.html

    最新回复(0)