+ -
当前位置:首页 → 问答吧 → 小弟, 请教一下Makefile中 %: 是什么意思了?

小弟, 请教一下Makefile中 %: 是什么意思了?

时间:2011-12-02

来源:互联网

请教一下 $(APP): %: %.c只一句话时什么意思了? 急!!!分不够可以再加...

PUB_ROOT=/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub
CROSS := arm-vfp_uclibc-linux-gnu-
CC = $(CROSS)gcc

PWD = `pwd`

SAMPLE_ROOT = $(PWD)/../..
HIGO_LIB_PATH = ${PUB_ROOT}/lib


CFLAGS= -g -Wall -O2 -march=armv5te -mtune=arm9tdmi -mlittle-endian
INCLUDE = -I${PUB_ROOT}/include
LIB = -static -Wl,--start-group -ltde -lapi -lhigo -lhigoadp -lpng -lz -lpthread -ljpeg -lm -lunify -Wl,--end-group
LIBPATH =-L${HIGO_LIB_PATH}

SRC = $(wildcard *.c)
APP = $(SRC:%.c=%)

all: $(APP)

$(APP): %: %.c
echo "===lgw=== $(APP): %: %.c"
$(CC) $(CFLAGS) -o $@ $< $(INCLUDE) $(LIBPATH) $(LIB) 

clean:
rm -rf $(APP)

test :
#sample_dec.c sample_dec2.c sample_fillrect.c sample_gdev.c sample_i18n.c sample_surface.c sample_text.c sample_wm.c
echo $(SRC)

#sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm
echo $(APP)


作者: w_ww_w   发布时间: 2011-12-02

上面Makefile执行结果如下:

echo "===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c"
===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c
arm-vfp_uclibc-linux-gnu-gcc -g -Wall -O2 -march=armv5te -mtune=arm9tdmi -mlittle-endian -o sample_dec sample_dec.c -I/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/include -L/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/lib -static -Wl,--start-group -ltde -lapi -lhigo -lhigoadp -lpng -lz -lpthread -ljpeg -lm -lunify -Wl,--end-group 
echo "===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c"
===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c
arm-vfp_uclibc-linux-gnu-gcc -g -Wall -O2 -march=armv5te -mtune=arm9tdmi -mlittle-endian -o sample_dec2 sample_dec2.c -I/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/include -L/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/lib -static -Wl,--start-group -ltde -lapi -lhigo -lhigoadp -lpng -lz -lpthread -ljpeg -lm -lunify -Wl,--end-group 
echo "===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c"
===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c
arm-vfp_uclibc-linux-gnu-gcc -g -Wall -O2 -march=armv5te -mtune=arm9tdmi -mlittle-endian -o sample_fillrect sample_fillrect.c -I/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/include -L/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/lib -static -Wl,--start-group -ltde -lapi -lhigo -lhigoadp -lpng -lz -lpthread -ljpeg -lm -lunify -Wl,--end-group 
echo "===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c"
===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c
arm-vfp_uclibc-linux-gnu-gcc -g -Wall -O2 -march=armv5te -mtune=arm9tdmi -mlittle-endian -o sample_gdev sample_gdev.c -I/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/include -L/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/lib -static -Wl,--start-group -ltde -lapi -lhigo -lhigoadp -lpng -lz -lpthread -ljpeg -lm -lunify -Wl,--end-group 
echo "===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c"
===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c
arm-vfp_uclibc-linux-gnu-gcc -g -Wall -O2 -march=armv5te -mtune=arm9tdmi -mlittle-endian -o sample_i18n sample_i18n.c -I/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/include -L/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/lib -static -Wl,--start-group -ltde -lapi -lhigo -lhigoadp -lpng -lz -lpthread -ljpeg -lm -lunify -Wl,--end-group 
echo "===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c"
===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c
arm-vfp_uclibc-linux-gnu-gcc -g -Wall -O2 -march=armv5te -mtune=arm9tdmi -mlittle-endian -o sample_surface sample_surface.c -I/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/include -L/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/lib -static -Wl,--start-group -ltde -lapi -lhigo -lhigoadp -lpng -lz -lpthread -ljpeg -lm -lunify -Wl,--end-group 
echo "===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c"
===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c
arm-vfp_uclibc-linux-gnu-gcc -g -Wall -O2 -march=armv5te -mtune=arm9tdmi -mlittle-endian -o sample_text sample_text.c -I/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/include -L/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/lib -static -Wl,--start-group -ltde -lapi -lhigo -lhigoadp -lpng -lz -lpthread -ljpeg -lm -lunify -Wl,--end-group 
echo "===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c"
===lgw=== sample_dec sample_dec2 sample_fillrect sample_gdev sample_i18n sample_surface sample_text sample_wm: %: %.c
arm-vfp_uclibc-linux-gnu-gcc -g -Wall -O2 -march=armv5te -mtune=arm9tdmi -mlittle-endian -o sample_wm sample_wm.c -I/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/include -L/home/Hi3560e/Hi3560E_DMS_V100R001C01SPC050/sdk-hfp/pub/lib -static -Wl,--start-group -ltde -lapi -lhigo -lhigoadp -lpng -lz -lpthread -ljpeg -lm -lunify -Wl,--end-group

作者: w_ww_w   发布时间: 2011-12-02

这个都是写makefile的一些规则,网上搜下很多的。其实我也不知道具体意思,嘿嘿。

作者: wesleyluo   发布时间: 2011-12-02

这个我在网上都搜遍了, 但是没有找到关于这句$(APP): %: %.c是什么意思? 不过也谢谢了
引用 2 楼 wesleyluo 的回复:

这个都是写makefile的一些规则,网上搜下很多的。其实我也不知道具体意思,嘿嘿。

作者: w_ww_w   发布时间: 2011-12-02

$(APP) : % : %.c
估计中间一个%是取$(APP)的每一个, 然后 其中每一个是依赖%.c的

作者: w_ww_w   发布时间: 2011-12-02