--- nono/Makefile.inc 2026/04/29 17:04:33 1.1.1.3 +++ nono/Makefile.inc 2026/04/29 17:04:53 1.1.1.7 @@ -7,6 +7,10 @@ # 共通の定義。 # サブディレクトリの Makefile は先頭で .include すること。 # +# TOPDIR はこの Makefile.inc が置いてあるディレクトリ。 +# make を実行するサブディレクトリがここの1つ下でない場合は、そこからこの +# ディレクトリまでの相対パスを事前に定義しておくこと。 +# # ここでは以下の変数を定義する。これらはコマンドライン上に完全順不同で登場 # すると読みにくいのでなんとなくグループ分けしたいというくらいの意味合い。 # @@ -21,6 +25,9 @@ # C/C++ 共通のプリプロセッサオプション。 # # これらの変数には必要なら各 Makefile で値を追加してよい。 +# +# COPT は C/C++ 共通の追加の一時的なオプションで、make のコマンドラインで +# 指定されることを想定している (./Makefile.rule 参照)。 # ここからコード @@ -31,6 +38,8 @@ CFLAGS= # reset system definition CXXFLAGS= # reset system definition CPPFLAGS= # reset system definition +TOPDIR?= .. + .include "Makefile.cfg" PROFOPT= -g @@ -48,8 +57,11 @@ PROFOPT= -g #PROFOPT+= -fsanitize=undefined CCFLAGS+= -O2 -CCFLAGS+= -mtune=native CCFLAGS+= ${PROFOPT} + +# C++17 では不要になるはず? +CXXFLAGS+= -faligned-new + WARNFLAGS+= -Wall -Werror -Wshadow WARNFLAGS+= -Wignored-qualifiers WARNFLAGS+= -Wno-sign-compare @@ -62,21 +74,15 @@ WARNFLAGS_C+= ${WARNFLAGS_C_cfg} WARNFLAGS_CXX+= ${WARNFLAGS_CXX_cfg} CPPFLAGS+= -I. -CPPFLAGS+= -I.. -CPPFLAGS+= -I../debugger -CPPFLAGS+= -I../fpe -CPPFLAGS+= -I../host -CPPFLAGS+= -I../lib -CPPFLAGS+= -I../m680x0 -CPPFLAGS+= -I../m88xx0 -CPPFLAGS+= -I../vm - -.if ${NETDRIVER} == "tap" -CPPFLAGS+= -DNETDRIVER_TAP -.endif -.if ${NETDRIVER} == "bpf" -CPPFLAGS+= -DNETDRIVER_BPF -.endif +CPPFLAGS+= -I${TOPDIR} +CPPFLAGS+= -I${TOPDIR}/debugger +CPPFLAGS+= -I${TOPDIR}/fpe +CPPFLAGS+= -I${TOPDIR}/host +CPPFLAGS+= -I${TOPDIR}/lib +CPPFLAGS+= -I${TOPDIR}/m680x0 +CPPFLAGS+= -I${TOPDIR}/m88xx0 +CPPFLAGS+= -I${TOPDIR}/vm +CPPFLAGS+= -I${TOPDIR}/wx # CFLAGS は C コンパイラに指定するコンパイルオプション。 # CXXFLAGS は C++ コンパイラに指定するコンパイルオプション。 @@ -103,5 +109,3 @@ MYLIBS_GROUP= ${MYLIBS} ${MYLIBS} .else MYLIBS_GROUP= -Wl,--start-group ${MYLIBS} -Wl,--end-group .endif - -LIBS+= -lz