一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 4388|回复: 2

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

[复制链接]
发表于 2017-5-3 11:27 | 显示全部楼层 |阅读模式
替换语句不看makefile真的不知道可以这样用法有一个makefile文件如下 % f& M& l. t  W' T2 i
( n- W- N& ], z) s8 G* o7 m
all_time:9 b- j4 G" }. X  w
        @echo $(@:_time=_null)
0 W1 K+ S  o$ Q6 Z/ d3 L: l7 ]7 O
" }5 ~; N9 ]2 n: p& {, O
! d  S  m7 m0 [! Z5 n
7 b9 A& o8 m- w
9 X, e# X& ?1 i+ F% |+ q然后用make all_time 反馈为"all_null"/ k- m7 `6 ~. u! b* n" n6 E- T
$ {7 ]. h+ X9 O1 u5 f/ r# f- p
如果当前目录下有shell 脚本文件可以用 $(CURDIR)+shell 直接调用
! m* Q( M- v0 z8 f) b! n2 g5 [
 楼主| 发表于 2017-5-3 11:40 | 显示全部楼层
在当前目录下有一个makecfg
( E, ]8 G2 W- Vmakecfg下有 echo haha( p' Q) @& M+ n% i
然后修改chmod 777 makecfg; O+ t3 O( F1 W; S" J! }5 @

3 }* C% h; t. R6 o  ?7 R: i+ m& L! Aall:& g  h$ i5 ~# m
        (/home/kenson/work/make1/makecfg)
8 v3 v; G% W4 N. D* s
6 R, V& k: Z4 i6 K9 @" f) l这样可以直接在make all 直接调用 makecfg了
7 f% q" J$ u3 z' C7 h3 U% e/ v: a1 A& o: x7 x; l+ C
回复

使用道具 举报

 楼主| 发表于 2017-5-4 14:39 | 显示全部楼层
做了一个验证; Q7 m) F( {* \7 _3 X6 a- a. \4 }3 u# i
这是makefile6 A: x) S0 h" d) Z$ u1 v
HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]')
2 ^- j5 K) a; X& F. U9 {#     sed -e 's/\(cygwin\).*/cygwin/')" I3 a0 L9 J! e# W9 j# U. I

  G4 D7 u* J* b- I0 I$ M! l/ A3 ]5 Vdir        := $(CURDIR)
" v+ l4 G: r# s/ b+ A" mMAKECONFIG := $(dir)/makecfg0 N0 b$ f( s9 }8 Y5 i
4 D; _* Q# ~9 {4 X
# d  i! ?9 h; U- d. h. I& M7 r
smdk2410_config:% t  C" b# {/ }+ m1 ^! s* [2 u
        @$(MAKECONFIG) $(@:_config=) arm arm920t; \7 c5 b# I% E( s! V. [) l- V! Z
4 A0 a" T8 t" B% i; ^4 l$ o

3 J: o& S, p& g/ ?7 o+ h' F( i; [这是makecfg
1 ~9 {7 h* U' g3 W$ `2 \$ G
! N$ I9 n7 n$ M8 q- C' w#!/bin/bash
4 R; L- f; S- e5 H5 f$ J' z& ]; Oecho "Welcome The World !"; o7 O8 [- z1 W& E  E% t  ~! V* V
echo "haha"! n2 \$ _$ \- q

  t1 r8 q" M" l7 @echo "\$0: $0"
9 R0 i" r! X8 R/ u: Becho "\$1: $1"
& }1 x/ V1 G) _; vecho "\$2: $2"
! r' U7 S( H) S" }echo "\$3: $3"5 _* G+ q+ Q" L9 j6 k
# l, C8 N5 I, q4 N
( q# K3 ~: G$ j) @/ [
结果
1 G" U4 M, i! X8 C" {jimmy@G41T-M7:~/work/MakeTrain$ make smdk2410_config 1 F! c/ @: k$ j0 |$ r
Welcome The World !
& x' q- @) s* l% D5 shaha% B0 ]9 w; m+ L& E
$0: /home/jimmy/work/MakeTrain/makecfg; J% A: Q, l0 z6 m6 W+ r
$1: smdk2410
" t' j; R. I, v9 g$2: arm3 d: n4 n: f( e0 A
$3: arm920t
: F- s' c+ e/ z- c5 _! `8 {: E. K1 ], y& d4 A3 R* o# ?, M

8 t3 n. h! i, R3 w+ R' n+ G% w7 P, x8 J) V
3 e+ h/ k, b. c. S
0 f$ l' @! }( T6 k! M  u
回复

使用道具 举报

本版积分规则

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

GMT+8, 2025-10-27 12:41 , Processed in 0.029949 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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