Automakeにいくつかのコンパイルオプションを追加しようとしていますが、どのアプローチも機能しません。
これが私のconfigure.ac
:
AC_INIT(...)
AC_PREREQ([2.59])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.10 foreign -Wall no-define])
AC_PROG_CXX
AC_PROG_LIBTOOL
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile src/Makefile test/Makefile])
AC_LANG(C++)
AC_OUTPUT
そして、私には親がいますMakefile.am
(トップレベルのディレクトリに):
#AM_CFLAGS = ... # doesn't work
AUTOMAKE_OPTIONS = subdir-objects
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}
SUBDIRS = src test
dist_noinst_SCRIPTS = autogen.sh
およびMakefile.am
各ソースディレクトリ用。src/Makefile
:
include_HEADERS = ...
lib_LIBRARIES = ...
およびtest/Makefile
:
#AM_CFLAGS = ... # doesn't work
bin_PROGRAMS = myprog #test
myprog_SOURCES = ...
myprog_LDADD = ../src/libmylib.a
#myprog_CFLAGS = ... # Doesn't work either
コメント行のすべての組み合わせのコメントを外してみました。
AM_CFLAGS = ...
親に追加Makefile.am
-これにより、影響を受けるすべてのソースのCFLAGSが設定されますAM_CFLAGS = ...
他の2つMakefile.am
に追加- myprog_
CFLAGS = ...
をMakefile.amに追加します(これにより、myprogのコンパイル時にCFLAGSが設定されます)
しかし、これらのどれも効果がありません。私のプログラム(myprog
)とそのライブラリ(mylib
)はどちらも、のようなデフォルトのフラグでコンパイル/リンクされ続けています-DHAVE_CONFIG -g -O2
。
INCLUDES
の代わりに使ってみましたがAM_CFLAGS
、役に立ちませんでした。
誰かがここで何が起こっているのか、そしてそれを修正する方法を知っていますか?