Makefile
やっぱりmake環境を整える事が重要だと思うのですよ。快適コンパイルの第一歩です。
sorce/Makefile
boxnosDir = ../ binDir = $(boxnosDir)binary/ asm = as ld = ld strip = strip qemu = qemu.bat all: $(binDir)boot.bin $(MAKEFILE_LIST) $(qemu) $< $(binDir)%.bin : $(binDir)%.obj $(ld) -Ttext 7c00 $< -o $@ $(strip) -O binary $@ $(binDir)%.obj : %.S $(asm) $< -o $@ info: find -type f -exec wc {} \; | awk -f info.awk clean: rm $(binDir)*
スッキリ!includeの構成はまた後で見直すとして。
Makefile解説
- MONAのMakefileをを見たら、stripが使ってあったのでまねっこしてみました。違いはよくわかってません(汗
- ポイントは$(MAKEFILE_LIST)日本語訳のマニュアルに載ってないけど、includeしたファイルと自分自身のMekefeleのリストが入ります。Makefile更新→再コンパイルとなるので、make clean→makeとやる必要がなくなります。
- ディレクトリ構成が変わりました。バイナリファイルとソースファイルを分離して、ファイル削除リスクを減らしてます。よくわからなくなったらディレクトリごと削除すれば良いので。
/boxnos /binary コンパイル時に出来る一時ファイル /source ソース色々
changelog書いてみたいなぁ・・・(周辺から攻める人)