我有一个makefile,并且我有一个名为SOURCES
的数组。在这个数组中,有一个c文件,还有c ++文件。但是我想改变该数组中每个路径的扩展名,无论它是c还是c ++到.o
。我怎么能这样做?我知道要将一个扩展名更改为另一个扩展名,我可以这样做:OBJECTS=$(SOURCES:.c=.o)
,但我也想为c ++文件执行此操作。
答案 0 :(得分:4)
有两种不同的选择。
使用$(filter)
/ $(filter-out)
并进行两次替换:
//This is now a named function
function clickEventHandler(e){
//select another element and remove a child in it
$('.author-remove-group').last().prev('.form-group').remove();
//select previous element and remove the last element in it
$('.author-remove-group').last().remove();
//random if statement that has nothing to do with the JQuery code
if (num != 2){
num--;
}
}
//Select element with id
$('#RemoveLastAuthor').click(clickEventHandler(e));
或者,如果您知道git rm --cached db/*.sqlite3
中只有OBJECTS := $(filter %.o,$(SOURCES:.c=.o))
OBJECTS += $(filter %.o,$(SOURCES:.cpp=.o))
和.c
个文件(或希望支持.cpp
中的其他扩展程序转换为SOURCES
})您可以使用$(basename)
和$(addsuffix)
:
SOURCES
答案 1 :(得分:0)
只需使用此:
OBJECTS = $(来源:.cpp
=。o)
对于文件扩展名.cpp
,
https://www.gnu.org/software/make/manual/html_node/Text-Functions.html#Text-Functions