make install 一問 - Linux

Table of Contents

我有關於make install的問題想問

在我的Makefile裡面有一段內容如下

all:hello
CC = gcc
INSTDIR = /usr/local/bin

hello: hello.c
$(CC) hello.c -o hello
install: hello
@if[ -d $(INSTDIR) ];\
then\
cp hello $(INSTDIR);\
echo "Installed in $(INSTDIR)";\
else\
echo "Sorry, $(INSTDIR) does not exist";\
fi


但當我下make install的時候卻

/bin/sh: if[: not found
cp: cannot create regular file `/usr/local/bin/hello': Permission denied
Installed in /usr/local/bin
Sorry, /usr/local/bin does not exist

換句話說if判斷式是無用的

而我是從網路上的範例嘗試的

@if[ -d $(INSTDIR) ];\ 其中的-d就是判斷INSTDIR是否存在

有大大知道這是什麼樣的情況嗎?

謝謝!

--
sinon2mayday:玩具反斗城來了03/26 16:52
kodo555:XD03/26 17:00
crueangel: 現在他來了03/26 17:01
papazzz: 你也知道我也知道03/26 17:09
taogc: 獨眼龍也知道03/26 17:11

--

All Comments

Victoria avatarVictoria2011-04-16
玩具反斗城來了
Sierra Rose avatarSierra Rose2011-04-21
XD
Linda avatarLinda2011-04-24
現在他來了
Quintina avatarQuintina2011-04-25
你也知道我也知道
Noah avatarNoah2011-04-25
獨眼龍也知道
Kyle avatarKyle2011-04-26
通常 make install 需要 super user 的權限
George avatarGeorge2011-04-28
你的問題在於「if [」之間要有個空格,不能連在一起
Harry avatarHarry2011-05-02
果真解決了 感謝<(_ _)>