でビルドできるプロジェクト(C用のAntlr3)があります./configure && make && make install
。
コンパイル コマンドで使用されるフラグの 1 つに-Wl,-soname -Wl,libantlr3c.so
. コマンド全体は次のとおりです。
libtool: link: gcc -shared .libs/antlr3baserecognizer.o .libs/antlr3basetree.o \
.libs/antlr3basetreeadaptor.o .libs/antlr3bitset.o .libs/antlr3collections.o \
.libs/antlr3commontoken.o .libs/antlr3commontree.o .libs/antlr3commontreeadaptor.o \
.libs/antlr3commontreenodestream.o .libs/antlr3convertutf.o .libs/antlr3cyclicdfa.o \
.libs/antlr3debughandlers.o .libs/antlr3encodings.o .libs/antlr3exception.o \
.libs/antlr3filestream.o .libs/antlr3inputstream.o .libs/antlr3intstream.o \
.libs/antlr3lexer.o .libs/antlr3parser.o .libs/antlr3rewritestreams.o \
.libs/antlr3string.o .libs/antlr3tokenstream.o .libs/antlr3treeparser.o \
-m64 -Wl,-soname -Wl,libantlr3c.so -o .libs/libantlr3c.so
-Wl,-soname -Wl,libantlr3c.so
その部分だけを取り除くにはどうすればよいですか?
CFLAGS
コンパイラとリンカーのフラグは、LDFLAGS
configure コマンドでオーバーライドできることを理解しています。このリンクによると、それは次のようなものです
./configure CFLAGS=blah LDFLAGS=blah
環境変数として使用できる/使用する必要があることは理解していますが、次のようなものです
CFLAGS=BLAH LDFLAGS=blah ./configure
ただし、これらの使用はすべてのorをオーバーライドしようとすると思います。フラグを除外したいだけです(これは、コンパイラがフラグをリンカーに渡すことを意味します。CFLAGS
LDFLAGS
-soname
-Wl,
LDFLAGS=-soname=
またはのようなものCFLAGS="-Wl,soname -Wl,"
、およびそれらのバリエーションを使用した私の試みは、これまでのところ成功していません。
この質問から、Makefile 内からフラグを削除できたかのように見えますが、コマンドを使用してコマンド ラインからフラグをオーバーライドすることに適用できるとは思えませんconfigure
。これらの変数をmake
コマンドの代わりにコマンドに提供することも可能ですconfigure
が、それも成功しませんでした。
コマンドから生成されるため、Makefile を変更しても意味がないことに注意してくださいconfigure
。