怎麼產生一個makefile檔 |
尚未結案
|
burnspawn
一般會員 發表:1 回覆:0 積分:0 註冊:2003-04-18 發送簡訊給我 |
我現在手邊已經有一個makefile的code了
我要怎麼作才能將這個檔連結到其他已經寫好的程式中??? makefile的程式是這樣子的... #
# Makefile
#
GLUTHOME = /home/michael/glut
GLUTL = $(GLUTHOME)/lib/glut.n32/libglut.a
LIBS = $(GLUTL) -lGLU -lGL -lXmu -lXi -lXext -lX11 -limage -lm
CC = CC
C = cc
CFLAGS = -I./ -I$(GLUTHOME)/include -n32 -Ofast
LFLAGS = -n32 -Ofast OBJ_DIR = ./
EXEC = ./texture OBJS=$(OBJ_DIR)texture.o $(OBJ_DIR)rgb.o $(OBJ_DIR)common.o $(OBJ_DIR)main.o $(OBJ_DIR)ui.o all: $(EXEC) $(EXEC): $(OBJS)
$(CC) $(LFLAGS) -o $(EXEC) $(OBJS) $(LIBS) $(OBJ_DIR)texture.o: texture.cc
$(CC) $(CFLAGS) -o $(OBJ_DIR)texture.o -c texture.cc $(OBJ_DIR)texture2.o: texture2.cc
$(CC) $(CFLAGS) -o $(OBJ_DIR)texture2.o -c texture2.cc $(OBJ_DIR)texturet.o: texturet.cc
$(CC) $(CFLAGS) -o $(OBJ_DIR)texturet.o -c texturet.cc $(OBJ_DIR)common.o: common.cc
$(CC) $(CFLAGS) -o $(OBJ_DIR)common.o -c common.cc $(OBJ_DIR)rgb.o: rgb.c
$(C) $(CFLAGS) -o $(OBJ_DIR)rgb.o -c rgb.c $(OBJ_DIR)main.o: main.cc
$(CC) $(CFLAGS) -o $(OBJ_DIR)main.o -c main.cc $(OBJ_DIR)maint.o: maint.cc
$(CC) $(CFLAGS) -o $(OBJ_DIR)maint.o -c maint.cc $(OBJ_DIR)ui.o: ui.cc
$(CC) $(CFLAGS) -o $(OBJ_DIR)ui.o -c ui.cc clean:
rm -f $(EXEC)
rm -f *.o 謝謝了... 發表人 - burnspawn 於 2003/04/18 23:13:58
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 我現在手邊已經有一個makefile的code了 我要怎麼作才能將這個檔連結到其他已經寫好的程式中??? makefile的程式是這樣子的...Makefile 的功用,主要是省去你在 command line 模式下的一行一行輸入指令,make 的程式也可以去 check makefile 中檔案的相依性,以決定是否作動作,該動作可以是 compile/link 或是與組譯無關的動作也行。 看您的 makefile ,應該不是用在 Windows 系統的吧... 好像是 OpenGL Utility Toolkit (GLUT) 的 example 還是 source, 如果您是 Windowx 的系統,可以參考以下的網址: http://www.xmission.com/~nate/glut.html 有 VC 的 source 含 project 檔 可以下載 引言: # # Makefile # GLUTHOME = /home/michael/glut GLUTL = $(GLUTHOME)/lib/glut.n32/libglut.a LIBS = $(GLUTL) -lGLU -lGL -lXmu -lXi -lXext -lX11 -limage -lm CC = CC C = cc CFLAGS = -I./ -I$(GLUTHOME)/include -n32 -Ofast LFLAGS = -n32 -Ofast OBJ_DIR = ./ EXEC = ./texture OBJS=$(OBJ_DIR)texture.o $(OBJ_DIR)rgb.o $(OBJ_DIR)common.o $(OBJ_DIR)main.o $(OBJ_DIR)ui.o以上這些是變數定義 引言: all: $(EXEC)這是指定最主要的產出是 $(EXEC) 也就是 ./texture 這個檔案。 引言: $(EXEC): $(OBJS) $(CC) $(LFLAGS) -o $(EXEC) $(OBJS) $(LIBS)這是定義 ./texture 這個檔案是由 $(OBJS) 所指定的檔案而來,當 $(OBJS) 內任一個檔比 ./texture 這個檔日期還要新時, $(CC) $(LFLAGS) -o $(EXEC) $(OBJS) $(LIBS) 這一行指定就會執行,而此行基本就是產生新的 ./texture 。 以下則是每個 OBJ 檔,動作原理同前述。 引言: $(OBJ_DIR)texture.o: texture.cc $(CC) $(CFLAGS) -o $(OBJ_DIR)texture.o -c texture.cc $(OBJ_DIR)texture2.o: texture2.cc $(CC) $(CFLAGS) -o $(OBJ_DIR)texture2.o -c texture2.cc $(OBJ_DIR)texturet.o: texturet.cc $(CC) $(CFLAGS) -o $(OBJ_DIR)texturet.o -c texturet.cc $(OBJ_DIR)common.o: common.cc $(CC) $(CFLAGS) -o $(OBJ_DIR)common.o -c common.cc $(OBJ_DIR)rgb.o: rgb.c $(C) $(CFLAGS) -o $(OBJ_DIR)rgb.o -c rgb.c $(OBJ_DIR)main.o: main.cc $(CC) $(CFLAGS) -o $(OBJ_DIR)main.o -c main.cc $(OBJ_DIR)maint.o: maint.cc $(CC) $(CFLAGS) -o $(OBJ_DIR)maint.o -c maint.cc $(OBJ_DIR)ui.o: ui.cc $(CC) $(CFLAGS) -o $(OBJ_DIR)ui.o -c ui.cc clean: rm -f $(EXEC) rm -f *.o 謝謝了... 發表人 - burnspawn 於 2003/04/18 23:13:58基本上,如果您已有所有的原始碼,在此 makefile 所在的路徑下直接執行 make 或 nmake (看你的系統的 make.exe 叫什麼) 加上 -f 的參數,並指定 makefile 即可,如: make -f mymake.mak 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://big5.to/吃軟也吃硬 http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |