ページへ戻る
印刷
Makefile_app
をテンプレートにして作成 ::
OSASK計画
osaskwiki
:Makefile_app をテンプレートにして作成
開始行:
* アプリケーション開発用Makefile例
-introa12にバンドルする予定のもの
-introa11版はバグがあったり、分割コンパイルにあまり向かな...
* win32用 (Linux用?)
-CとASKAの混在にも対応。ライブラリ作成にも対応。DLL作成に...
TARGET = helloc4
STACKSIZE = 4k
MALLOCSIZE = 1k
MMAREA = 0
OBJS = $(TARGET).obj
# 以上5つはソースごとに書き換える
# OBJSを書き換えると分割コンパイル対応
TOOLPATH =
INCPATH = $(TOOLPATH).
RULEFILE = $(TOOLPATH)guigui00.rul
DLLRULE = $(TOOLPATH)dllrule0.rul
MAKE = $(TOOLPATH)make -r
SJISCONV = $(TOOLPATH)sjisconv -s
CC1 = $(TOOLPATH)cc1 -I$(INCPATH) -Os -quiet
GAS2NASK = $(TOOLPATH)gas2nask -a
NASK = $(TOOLPATH)nask
OBJ2BIM = $(TOOLPATH)obj2bim3
BIM2BIN = $(TOOLPATH)bim2bin3
CPP0 = $(TOOLPATH)cpp0 -P -I$(INCPATH)
ASKA = $(TOOLPATH)aska
NASKCNV = $(TOOLPATH)naskcnv0 -l -s -w
GOLIB = $(TOOLPATH)golib00w
DELE = del
# 以上の項目はあなたのディレクトリ構成にあわせて書き換える
ALL :
$(MAKE) $(TARGET).bin
%.ca : %.c Makefile
$(SJISCONV) $*.c $*.ca
%.gas : %.ca Makefile
$(CC1) -o $*.gas $*.ca
%.nas : %.gas Makefile
$(GAS2NASK) $*.gas $*.nas
%.obj : %.nas Makefile
$(NASK) $*.nas $*.obj
%.ias : %.ask Makefile
$(CPP0) -o $*.ias $*.ask
%.3as : %.ias Makefile
$(ASKA) $*.ias $*.3as
%.nas : %.3as Makefile
$(NASKCNV) $*.3as $*.nas
%.lst : %.nas Makefile
$(NASK) $*.nas $*.obj $*.lst
$(TARGET).bim : $(OBJS) Makefile
$(OBJ2BIM) @$(RULEFILE) out:$(TARGET).bim stack:$(STA...
%.bin : %.bim Makefile
$(BIM2BIN) in:$*.bim out:$*.org malloc:$(MALLOCSIZE)...
$(BIM2BIN) -osacmp -tek0 in:$*.org out:$*.bin
$(TARGET).lib : $(OBJS) Makefile
$(GOLIB) out:$(TARGET).lib $(OBJS)
$(TARGET).dll : $(OBJS) Makefile
$(OBJ2BIM) @$(DLLRULE) out:$(TARGET).bim map:$(TARGE...
$(BIM2BIN) -osacmp -tek0 in:$(TARGET).bim out:$(TARG...
clean :
$(DELE) *.obj
$(DELE) $(TARGET).bim
$(DELE) $(TARGET).map
$(DELE) $(TARGET).org
-(註)次の修正を加えるとLinux版になるかもしれない
SJISCONV = cp
CC1 = $(TOOLPATH)gocc1 -I$(INCPATH) -Os -quiet
CPP0 = $(TOOLPATH)gocpp0 -P -I$(INCPATH)
GOLIB = $(TOOLPATH)golib00
DELE = rm -f
* Linux用
-(誰か書いてちょ)
-(ひょっとしてdelをrmにするだけでいいのかな?)
- introa11.lzhからintroe01.lzhをまとめてコンパイルするよ...
お手軽セットはこちら。
[[introset-a2e>http://www.gigo-ice.org/archives/introset-...
-ざっとしか見てませんが、こんな感じにすれば多少応用が楽に...
* Linux用?
TARGET = helloc4
STACKSIZE = 4k
MALLOCSIZE = 1k
MMAREA = 0
OBJS = $(TARGET).obj
# 以上5つはソースごとに書き換える
# OBJSを書き換えると分割コンパイル対応
INCPATH = .
RULEFILE = guigui00.rul
SJISCONV = ln
CC1 = gocc1
GAS2NASK = gas2nask
NASK = nask
OBJ2BIM = obj2bim3
BIM2BIN = bim2bin3
MAKE = make
DEL = rm -f
# 以上の項目はあなたのディレクトリ構成にあわせて書き換える
ALL :
$(MAKE) $(TARGET).bin
%.ca : %.c Makefile
$(SJISCONV) -s $*.c $*.ca
%.gas : %.ca Makefile
$(CC1) -I$(INCPATH) -Os -quiet -o $*.gas $*.ca
%.nas : %.gas Makefile
$(GAS2NASK) -a $*.gas $*.nas
%.obj : %.nas Makefile
$(NASK) $*.nas $*.obj
$(TARGET).bim : $(OBJS) Makefile
$(OBJ2BIM) @$(RULEFILE) out:$(TARGET).bim stack:$(STA...
%.bin : %.bim Makefile
$(BIM2BIN) in:$*.bim out:$*.org malloc:$(MALLOCSIZE)...
$(BIM2BIN) in:$*.org out:$*.bin -osacmp -tek0
clean :
$(DEL) $(TARGET).map
$(DEL) $(TARGET).org
$(DEL) $(TARGET).bin
う��ん・・・いまいち。なんか無理に書くほど...
* Makefileちょっぴり解説コーナー
%.gas : %.ca Makefile
$(CC1) -o $*.gas $*.ca
-これは、拡張子.gasのファイルを作るには、同じ名前で拡張子...
-makeは、最初のALL:を実行してmake helloc4.binを認識し、あ...
-Makefileには、拡張子.binを作るためには同じ名前で拡張子が...
-それで存在するファイルを見つけることができたら、そこから...
* こめんと欄
-余談ですが、MakeファイルをWin・UNIX共通にするのは、ある...
#comment
終了行:
* アプリケーション開発用Makefile例
-introa12にバンドルする予定のもの
-introa11版はバグがあったり、分割コンパイルにあまり向かな...
* win32用 (Linux用?)
-CとASKAの混在にも対応。ライブラリ作成にも対応。DLL作成に...
TARGET = helloc4
STACKSIZE = 4k
MALLOCSIZE = 1k
MMAREA = 0
OBJS = $(TARGET).obj
# 以上5つはソースごとに書き換える
# OBJSを書き換えると分割コンパイル対応
TOOLPATH =
INCPATH = $(TOOLPATH).
RULEFILE = $(TOOLPATH)guigui00.rul
DLLRULE = $(TOOLPATH)dllrule0.rul
MAKE = $(TOOLPATH)make -r
SJISCONV = $(TOOLPATH)sjisconv -s
CC1 = $(TOOLPATH)cc1 -I$(INCPATH) -Os -quiet
GAS2NASK = $(TOOLPATH)gas2nask -a
NASK = $(TOOLPATH)nask
OBJ2BIM = $(TOOLPATH)obj2bim3
BIM2BIN = $(TOOLPATH)bim2bin3
CPP0 = $(TOOLPATH)cpp0 -P -I$(INCPATH)
ASKA = $(TOOLPATH)aska
NASKCNV = $(TOOLPATH)naskcnv0 -l -s -w
GOLIB = $(TOOLPATH)golib00w
DELE = del
# 以上の項目はあなたのディレクトリ構成にあわせて書き換える
ALL :
$(MAKE) $(TARGET).bin
%.ca : %.c Makefile
$(SJISCONV) $*.c $*.ca
%.gas : %.ca Makefile
$(CC1) -o $*.gas $*.ca
%.nas : %.gas Makefile
$(GAS2NASK) $*.gas $*.nas
%.obj : %.nas Makefile
$(NASK) $*.nas $*.obj
%.ias : %.ask Makefile
$(CPP0) -o $*.ias $*.ask
%.3as : %.ias Makefile
$(ASKA) $*.ias $*.3as
%.nas : %.3as Makefile
$(NASKCNV) $*.3as $*.nas
%.lst : %.nas Makefile
$(NASK) $*.nas $*.obj $*.lst
$(TARGET).bim : $(OBJS) Makefile
$(OBJ2BIM) @$(RULEFILE) out:$(TARGET).bim stack:$(STA...
%.bin : %.bim Makefile
$(BIM2BIN) in:$*.bim out:$*.org malloc:$(MALLOCSIZE)...
$(BIM2BIN) -osacmp -tek0 in:$*.org out:$*.bin
$(TARGET).lib : $(OBJS) Makefile
$(GOLIB) out:$(TARGET).lib $(OBJS)
$(TARGET).dll : $(OBJS) Makefile
$(OBJ2BIM) @$(DLLRULE) out:$(TARGET).bim map:$(TARGE...
$(BIM2BIN) -osacmp -tek0 in:$(TARGET).bim out:$(TARG...
clean :
$(DELE) *.obj
$(DELE) $(TARGET).bim
$(DELE) $(TARGET).map
$(DELE) $(TARGET).org
-(註)次の修正を加えるとLinux版になるかもしれない
SJISCONV = cp
CC1 = $(TOOLPATH)gocc1 -I$(INCPATH) -Os -quiet
CPP0 = $(TOOLPATH)gocpp0 -P -I$(INCPATH)
GOLIB = $(TOOLPATH)golib00
DELE = rm -f
* Linux用
-(誰か書いてちょ)
-(ひょっとしてdelをrmにするだけでいいのかな?)
- introa11.lzhからintroe01.lzhをまとめてコンパイルするよ...
お手軽セットはこちら。
[[introset-a2e>http://www.gigo-ice.org/archives/introset-...
-ざっとしか見てませんが、こんな感じにすれば多少応用が楽に...
* Linux用?
TARGET = helloc4
STACKSIZE = 4k
MALLOCSIZE = 1k
MMAREA = 0
OBJS = $(TARGET).obj
# 以上5つはソースごとに書き換える
# OBJSを書き換えると分割コンパイル対応
INCPATH = .
RULEFILE = guigui00.rul
SJISCONV = ln
CC1 = gocc1
GAS2NASK = gas2nask
NASK = nask
OBJ2BIM = obj2bim3
BIM2BIN = bim2bin3
MAKE = make
DEL = rm -f
# 以上の項目はあなたのディレクトリ構成にあわせて書き換える
ALL :
$(MAKE) $(TARGET).bin
%.ca : %.c Makefile
$(SJISCONV) -s $*.c $*.ca
%.gas : %.ca Makefile
$(CC1) -I$(INCPATH) -Os -quiet -o $*.gas $*.ca
%.nas : %.gas Makefile
$(GAS2NASK) -a $*.gas $*.nas
%.obj : %.nas Makefile
$(NASK) $*.nas $*.obj
$(TARGET).bim : $(OBJS) Makefile
$(OBJ2BIM) @$(RULEFILE) out:$(TARGET).bim stack:$(STA...
%.bin : %.bim Makefile
$(BIM2BIN) in:$*.bim out:$*.org malloc:$(MALLOCSIZE)...
$(BIM2BIN) in:$*.org out:$*.bin -osacmp -tek0
clean :
$(DEL) $(TARGET).map
$(DEL) $(TARGET).org
$(DEL) $(TARGET).bin
う��ん・・・いまいち。なんか無理に書くほど...
* Makefileちょっぴり解説コーナー
%.gas : %.ca Makefile
$(CC1) -o $*.gas $*.ca
-これは、拡張子.gasのファイルを作るには、同じ名前で拡張子...
-makeは、最初のALL:を実行してmake helloc4.binを認識し、あ...
-Makefileには、拡張子.binを作るためには同じ名前で拡張子が...
-それで存在するファイルを見つけることができたら、そこから...
* こめんと欄
-余談ですが、MakeファイルをWin・UNIX共通にするのは、ある...
#comment
ページ名: