2013-07-30 16 views
0

我有這樣的Makefile:如何修復/ bin/sh的:語法錯誤:意外 「(」 不改變爲/ bin/bash的

SHELL = /bin/sh 
INSTALL =/usr/bin/install 
INSTALL_PROGRAM = $(INSTALL) 
INSTALL_DATA = $(INSTALL) -m 644 
STRIP=$(TARGET_CROSS)strip 
EXEC=monApp 
SRC= $(wildcard src/*.cpp) 
OBJ= $(SRC:.cpp=.o) 
CXX=$(TARGET_CROSS)g++ 
CXXFLAGS = -I./include –I$(STAGING_DIR)/include –I(STAGING_DIR)/usr/include/ 
LDFLAGS = -g -Wall -L$(STAGING_DIR)/lib –lEGL –lGLESv2 –lIMGegl –L$(STAGING_DIR)/usr/lib 
all: $(EXEC) 
$(EXEC): $(OBJ) 
    $(CXX) -o [email protected] $^ $(LDFLAGS) 
%.o: %.cpp 
    @$(CXX) -o [email protected] -c $< $(CXXFLAGS) 

.PHONY: clean 
clean: 
    @rm -rf src/*.o 
    @rm -rf $(EXEC) 
install: $(EXEC) 
    mkdir -p ./package.release 
    $(INSTALL_PROGRAM) $(EXEC) ./package.release/ 
    $(STRIP) ./package.release/$(EXEC) 
uninstall: 
    @rm -rf ./package.release/ 

如何解決這個問題,而不改變爲/ bin/bash的(我沒有bash的,所以我必須使用SH)?

謝謝

+4

哪條線是錯誤的? – Barmar

+1

我在任何shell命令中都看不到任何括號。這些都是運行shell之前被替換的makefile變量。 – Barmar

+11

在CXXFLAGS中添加缺少'$'到'(STAGING_DIR)' – jfs

回答