久々にコード書こうと思ったら
コンパイルどうやってたか忘れたよ(/ ̄ー ̄)
という訳で復習の時間です!
だいぶコードが増えてきたのでフォルダで区切って管理してたはずだよ
■フォルダ構成
tree /f をうってみた
D:.
├─battle
│ makefile
│
├─dungeon
│ makefile
│
├─field
│ makefile
│
├─include
│ always.h
│ def.h
│ nmlib.h
│ typedef.h
│
├─lib
│ bmp_operate.c
│ bmp_operate.o
│ makefile
│ mask_operate.c
│ mask_operate.o
│
├─title
│ makefile
│ title.c
│ title.o
│ title_key.c
│ title_key.o
│
├─town
│ makefile
│
└─window
key.c
key.o
main_window.c
main_window.o
makefile
paint.c
paint.o
とまぁこんな感じだ (・ω・)
ほんでもって
ファイルを一撃でコンパイルしてexe作れるようにしてたはずだが・・・
一番上のmakefileを空けてみる(↑のフォルダ構成のさらに上)
all:
cd nmeron\window & make obj
cd nmeron\title & make obj
cd nmeron\lib & make obj
make exe
とまぁこんな感じだ
どうやら cdでフォルダ移動しながら 各フォルダでmake objを実行するらしい
windowフォルダの makefileをあけてみる
obj:
gcc -c main_window.c\
paint.c\
key.c\
-lgdi32 -lmsimg32 -lwinmm
おいてあるソースコードからオブジェクトをつくるだけっぽ
要するにフォルダ移動しながらオブジェクト作るだけっぽい
かなり原始的である!絶滅危惧種である!!
一番上のmakefileにもどる
exe:
gcc \
nmeron\window\main_window.o\
nmeron\window\paint.o\
nmeron\window\key.o\
nmeron\title\title.o\
nmeron\title\title_key.o\
nmeron\lib\bmp_operate.o\
nmeron\lib\mask_operate.o\
-lgdi32 -lmsimg32 -lwinmm\
-o Debug
最後のexeはこんな感じだった( ̄Д ̄;;
作ったオブジェクトをくっつけとるだけやんけぇ!!ヾ(。`Д´。)ノ彡
原始的やけどまぁこれでもエグゼ作れるからいっかぁ
ということでmake allをすると Debug.exeが出てきました。
めでたしめでたし
[0回]
PR