5

GNUマニュアルによると:

各改行または改行/改行のペアを単一のスペースに変換します。また、結果の最後にある場合は、末尾の (キャリッジ リターンと) 改行も削除します。

ただし、改行なしで awk を使用することはより困難になります。

FILE = $(shell cat $(PATH))
TEXT = $(shell echo "$(FILE)" | awk '/Text/ {print $$3}')

だから私の質問は、ファイルの内容を Makefile 変数に割り当てるときに改行を保持する方法があるかどうか、またはスマートな回避策があるかどうかです。

4

2 に答える 2

0

awk を使用してファイルからいくつかの行を抽出し、改行を保持しながら makefile にインポートする方法を次に示します。

LOCAL_INO_SRCS ?= $(wildcard *.ino)
t = $(shell t=$$(mktemp);echo $$t;awk '/^\#if 0 .. MAKEFILE{/{f=1;next}/^\#endif .. MAKEFILE}/{f=0}f' $(LOCAL_INO_SRCS) >$$t )
include $t
$(shell rm $t)

ソース ファイルからインポートできるものの例を次に示します。

#if 0 // MAKEFILE{

BOARD_TAG = attiny85

# usbtiny hack
MONITOR_PORT = usb
FORCE_MONITOR_PORT = define

#endif // MAKEFILE}
于 2016-07-11T06:06:30.370 に答える