關於Unix的makefile - Linux

Table of Contents

不好意思,不知道是否合適PO在此
如果不合適,馬上刪除


各位大大好
小弟不才,最近在UNIX上研究雲端的Sector/Sphere
但由於官方版本僅支援Linux
因此以Vmware安裝Ubuntu
將相關套件安裝完成後,compile當然沒問題

但由於工作需要,需嘗試Unix HP-UX主機上執行
但在make官方內建的Makefile時,就發生錯誤
在Makefile中,會 include一個Makefile.common

Makefile.common如下

1. C++ = g++
2.
3. DEBUG = 1
4. STATIC = 0
5.
6. CCFLAGS = -I.
7. LDFLAGS = -lstdc++ -lpthread -lssl -L.
8.
9. ifeq ($(DEBUG), 1)
10. CCFLAGS += -Wall -g
11.else
12. CCFLAGS += -O3
13.endif

Make 錯誤訊息如下:
Make:必須是一個分隔元於規則行 10。停止。
*** 錯誤跳出碼 1

已確認第10、12行前為 tab,非空白

不知道是否有高手願意指導~~

不好意思,麻煩了

謝謝

--

All Comments

Ethan avatarEthan2010-02-14
可以用gmake嗎?
Franklin avatarFranklin2010-02-18
猜想是+=沒被支援... 我第一次看到這種寫法的 XD
George avatarGeorge2010-02-19
+= ?=好像都蠻常看到的?
Carol avatarCarol2010-02-23
不過在我平常看到的makefile裡面if else endif前面有.
Blanche avatarBlanche2010-02-27
今天測試後gmake目前還能運作,但程式還沒修改完,不敢
Quintina avatarQuintina2010-03-04
定論,另外在UNIX HP-UX的make,似乎真的不支援+=
除了+=以外,發現只要有if else的地方,都會錯誤...
Barb Cronin avatarBarb Cronin2010-03-08
不管if-else後接什麼都一樣,空白行也是..該不會HP-UX的
make不支援if-else...
Freda avatarFreda2010-03-11
buganini大~.是在哪? .if .else? 還是.CCFLAGS...?
Tom avatarTom2010-03-13
.if .else .endif
Olga avatarOlga2010-03-17
make已經回答了. 空格的是tab值, make要的是空白.