一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 2465|回复: 2
收起左侧

有关$(@:_config=)进一步讲解

[复制链接]
发表于 2017-5-3 11:27 | 显示全部楼层 |阅读模式
替换语句不看makefile真的不知道可以这样用法有一个makefile文件如下
  ?/ J+ y7 u' d7 a7 j( [7 d( o7 }8 t8 E% X8 C2 S* K
all_time:8 P% Y$ G- T- Y6 p$ }$ f  S
        @echo $(@:_time=_null)% D' a+ _6 K' ?1 q* C( s

' n: F1 N" Y: n! q2 M# \% {, W' m5 @5 g6 [/ p

, h0 l  a6 L( J& H( _" m" m& L; O' ^% }; N
然后用make all_time 反馈为"all_null"9 u& j$ j4 h) `4 x% ~  u; Y
* o8 \% `; y. x8 N' X
如果当前目录下有shell 脚本文件可以用 $(CURDIR)+shell 直接调用
3 O. }) n" K1 ~( T3 \. T+ P
 楼主| 发表于 2017-5-3 11:40 | 显示全部楼层
在当前目录下有一个makecfg
: u1 r. V8 M% bmakecfg下有 echo haha
1 G: T. t5 z  q4 P8 \然后修改chmod 777 makecfg
0 {) \5 j5 x% L& l- a1 f2 J6 N9 ?7 J$ |
0 b! @1 R6 s# [3 Dall:3 e3 _# x5 b6 p" o
        (/home/kenson/work/make1/makecfg)3 p( k" Z+ H. R/ x2 t  @
4 G0 X( j- R$ s/ B8 R. c* B+ X
这样可以直接在make all 直接调用 makecfg了
$ C7 k8 C6 k: D" v8 c
/ ]4 d% z8 ^9 P2 S. w! Q- m6 j
 楼主| 发表于 2017-5-4 14:39 | 显示全部楼层
做了一个验证
2 g% G3 K1 {" k这是makefile# u; w4 f) P2 A8 v0 w" u$ ]7 x  C
HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]')
. _! I5 I. L+ k/ i& Z) h#     sed -e 's/\(cygwin\).*/cygwin/')
+ D3 D. P5 A+ U' C: X, M
& Q/ e: b2 W: s5 t. I7 Cdir        := $(CURDIR)
! M2 x/ Z+ h$ t; j0 OMAKECONFIG := $(dir)/makecfg* A+ E# T9 L; G

3 i1 o" i1 O# _+ o% J8 ?; B  F. Q& j- l, ~  @
smdk2410_config:; b9 b) w4 j. m1 f, ]. W4 S9 `
        @$(MAKECONFIG) $(@:_config=) arm arm920t
! j+ W/ C5 j; b5 Y5 j  a! x* K0 b' \9 b4 H
) W! K7 X( t) ^0 e3 S  C
这是makecfg
$ U% S% v6 \* G  r* }" X, B
' i% p- \! w: ~% ^: y/ X) P#!/bin/bash
0 A2 T) h+ E7 v  x; I' N, kecho "Welcome The World !"
* g% j( M$ a& L1 iecho "haha"
: H0 \: y4 o2 k: ^$ ?! E8 f0 o/ Z; M; u$ R8 q7 g7 `) r
echo "\$0: $0"
7 z3 T4 D+ s" jecho "\$1: $1"2 E. y( S; y4 U% ^$ q
echo "\$2: $2"0 F# b& B3 ^% a/ f" K: B8 X: R
echo "\$3: $3"1 i3 b1 i# [  F7 q; R

! g/ i8 u7 D! B6 y. w/ k* k* L* S7 A: I% M# n. \
结果! v" d9 z1 z0 w# a) ?0 e
jimmy@G41T-M7:~/work/MakeTrain$ make smdk2410_config ( q+ f( e1 W; z6 b
Welcome The World !2 y- E# m. R. m- F: y
haha8 |1 F7 t* ]  s; A  `5 h& N& ~$ ^
$0: /home/jimmy/work/MakeTrain/makecfg* Q4 z! E. A0 {# R3 G: o# r" d
$1: smdk2410
7 s) R9 K. y- j4 C+ P$2: arm$ s: p( s- }7 u$ C7 `- L
$3: arm920t
% o7 @6 j) W6 q) k$ s/ I# I9 N# @" Z+ g0 O/ t

; z/ [  p/ h3 d
2 j) X+ \6 P1 u% U) G( q6 n1 E! p3 e8 A6 ~5 p  b

7 K3 c8 x6 P' [4 g) }* n

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-19 15:58 , Processed in 0.059871 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表