$(foreach name, $(patsubst lib%.a,%,$(LIBS)),
$(eval lib$(name).a : lib$(name).a($$($(name)_OBJS))))
在上述直线中显示丢失分隔符时失败 。
:68: *** missing separator. Stop.
$(foreach name, $(patsubst lib%.a,%,$(LIBS)),
$(eval lib$(name).a : lib$(name).a($$($(name)_OBJS))))
在上述直线中显示丢失分隔符时失败 。
:68: *** missing separator. Stop.
http://www.gnu.org/ software/ make/manual/make. html#Archive-members" rel=“no follow”>GNUMake 手册:
To specify several members in the same archive, you can write all the member names together between the parentheses. For example:
foolib(hack.o kludge.o)
等于:
foolib(hack.o) foolib(kludge.o)
然而,这似乎并不适用于先决条件(GNUMake 3.8.2):
# This works:
flib: foolib(hack.o) foolib(kludge.o)
# This doesn t:
flib: foolib(hack.o kludge.o)
所以我们只需要稍作修改(使用 @Neils捷径和小心处理括号):
# Change this:
$(foreach name, $(LIBS:lib%.a=%),
$(eval lib$(name).a : lib$(name).a($$($(name)_OBJS))))
# to this:
lparen := (
rparen := )
$(foreach name, $(LIBS:lib%.a=%),
$(eval lib$(name).a : $($(name)_OBJS:%=lib$(name).a$(lparen)%$(rparen))))
Is there a way to have make display the line number where it declares an error? The -d switch doesn t seem to cut it. Updated: Example output: Reaping winning child 0x08aa8648 PID 9381 /bin/sh: ...
I m revisiting Python after Michael Sparks s excellent walk through of Peter Norvig s Python spell checker at the SO DevDay in London. One of the points he highlighted was how clean Python is to look ...
Is there a command line way in make to find out which of the prerequisites of a target is not updated?
I m working on a cross-platform 2D engine for mobile devices (Windows Mobile 6 and Android). My Windows version is pretty much ready, but I still need to make sure the same functionality is available ...
I want to just type make all and have the following Makefile do everything it s supposed to do: LEX = lex YACC = yacc CC = gcc calcu: y.tab.o lex.yy.o $(CC) -o calcu y.tab.o lex.yy.o -ly -lfl ...
在我执政时,我发现以下错误:
How can you tell, from the command line, how many cores are on the machine when you re running Mac OS X? On Linux, I use: x=$(awk /^processor/ {++n} END {print n+1} /proc/cpuinfo) It s not ...
I have created two files: tunables.h #ifndef TUNABLES_H #define TUNABLES_H void tunables_load_conservative(); void tunables_load_aggressive(); extern int timer_x; #endif /*TUNABLES_H */ and ...