久々にコード書こうと思ったら
コンパイルどうやってたか忘れたよ(/ ̄ー ̄)
という訳で復習の時間です!
だいぶコードが増えてきたのでフォルダで区切って管理してたはずだよ
■フォルダ構成
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回]
[0回]
PR