Re: [问题] Makefile赋值问题

楼主: peterbrucele (DM5)   2021-10-22 12:04:07
※ 引述《Windycelesti (云の狐)》之铭言:
: 开发平台(Platform): (Ex: Win10, Linux, ...)
: Linux
: 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
: Makefile
: 额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
: Nope
: 问题(Question):
: 根目录底下刚开始有的档案
: Makefile
: Neko.bin
: FUNCTION_0.txt
: FUNCTION_1.txt
: FUNCTION_2.txt
: FUNCTION_3.txt
: 依照生出来的Cat.bin去决定我要把哪个FUNCTION给送出去
: 喂入的资料(Input):
: 直接执行make Makefile all
: 预期的正确结果(Expected Output):
: 原本的流程, Cat.bin是在这个Makefile才生出来的玩意儿
: 这里为了模拟, 所以多做了cp ./Neko.bin ./Cat.bin的动作, 然后拿Cat.bin做计算
: TT的值预期会生出0~3随机数字(因为每次执行, Neko.bin的size都会改变)
: 预期在每次计算完Cat.bin的size后
: 选择对应的FUNCTION_$(1).txt送到其他资料夹去.(在此单纯用cp而已)
: 错误结果(Wrong Output):
: all 的第四行目前没办法正常取出TT的值带入PATH的$(1)
: 曾经用过define去定义expr `du -b ./Cat.bin|cut -f1` % 4
: 想当然而程式看不懂
: cp ./FUNCTIONexpr `du -b ./Neko_tmp.bin|cut -f1` % 4.txt ./YAAAAA.GG
: 程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
: #define TestDef
: #expr `du -b ./Cat.bin|cut -f1` % 4
: #endef
: PATH=./FUNCTION_$(1).txt
: all:
: cp ./Neko.bin ./Cat.bin
: expr `du -b ./Cat.bin|cut -f1` % 4 > TT
: cat TT
: # cp $(call PATH, $(call TestDef)) ./ YAAAAAA.GG
: cp $(call PATH, echo`cat TT`) ./YAAAAA.GG
: rm Cat.bin TT
: echo "TEST END....."
: 如果有其他问题麻烦告知, 感谢.
: 另外想问问, 有没有可以模拟Makefile的模拟网页...(囧
: 感谢C_and_CPP版
%% cat Makefile
file = ./FUNCTION_$(1).txt
n = $(shell expr `du -b ./Cat.bin|cut -f 1` % 4)
all:
cp ./Neko.bin ./Cat.bin
cp $(call file,$(n)) ./YAAAAA.GG
rm Cat.bin
echo "TEST END....."
.PHONY: all
make的built-in function (shell)可以执行指令得到结果
另外如同元PO回文 直接写shell script比较好

Links booklink

Contact Us: admin [ a t ] ucptt.com