我想修改Makefile命令:
-rm -f $(OBJS)
-rm -f $(OBJS:.o=.mod)
第一个删除所有filenames.o,第二个删除所有filenames.mod。但是,我想 修改第二个这样我得到:mod_filenames.mod,即添加字符串“mod _”。
我试过:-rm -f mod _ $(OBJS:.o = .mod),但这只影响了列表中的第一个文件。但是我在这里猜测。如果有人可以建议一个解释这种编程的广泛网站,我将不胜感激。
答案 0 :(得分:2)
还有GNU Make Unleased book和GNU Make Standard Library。
请参阅手册的8.3 Functions for File Names,您可以使用$(addprefix ...)
(还有其他方法):
-rm -f $(OBJS)
-rm -f $(addprefix mod_,$(OBJS:.o=.mod))
使用$(RM)
(通常是rm -f
)会更好:
-$(RM) $(OBJS)
-$(RM) $(addprefix mod_,$(OBJS:.o=.mod))
答案 1 :(得分:1)
GNU make manual描述了所有这些事情。
您可以使用模式来获得所需内容:
-rm -f $(OBJS:%.o=mod_%.mod)
撰写$(OBJS:.o=.mod)
只是$(OBJS:%.o=%.mod)
的缩写。