開発中のパッケージをデバッグしようとしています。パッケージのビルド、チェック、インストールにはmakefileを使用しています。パッケージはRcppパッケージであるため、すでにmakevarsファイルとmakevars.winファイルが含まれています。私が探しているのは、特定のmakeルールのためだけにCXXFLAGSを変更することでした。その後、でmake debug
実行さR CMD INSTALL
れますCXXFLAGS= -Wall -pedantic -g -O0"
が、通常はデバッグ情報なしmake install
で実行されます。CXXFLAGS=-O3
パッケージ、個人、またはシステムのmakevarsファイルを変更せずに、これを動的に変更する良い方法はありますか?
1567 次
1 に答える
2
CXXFLAGS
周りは1つしかないのでそうは思いません。ただし、異なる「make」と「makedebug」のターゲット部分で再度割り当てることができます。
2つのバージョンを~/.R/Makevars.normal
amdのまま~/R/Makevars.debug
にして、スクリプトを使用してそれらの間のリンクを反転させることができます...
それが価値があるもののために。別の行を編集~/.R/Makevars
してコメント/コメント解除するだけです。
編集:Makefile
あなたが投稿したものに基づいて、このようなものはどうですか?
install: $(PKG_NAME)_$(PKG_VERSION).tar.gz
CXXFLAGS+="-O3" R CMD INSTALL $(PKG_NAME)_$(PKG_VERSION).tar.gz
debuginstall: $(PKG_NAME)_$(PKG_VERSION).tar.gz
CXXFLAGS+="-Wall -g -O0" R CMD INSTALL $(PKG_NAME)_$(PKG_VERSION).tar.gz
編集2: 私はこれで遊んだだけで、うまくいきます:
PKG_NAME=digest
PKG_VERSION=0.5.1
install: $(PKG_NAME)_$(PKG_VERSION).tar.gz
PKG_CFLAGS="-O6" R CMD INSTALL $(PKG_NAME)_$(PKG_VERSION).tar.gz
debuginstall: $(PKG_NAME)_$(PKG_VERSION).tar.gz
PKG_CFLAGS="-Wall -g -O0" R CMD INSTALL $(PKG_NAME)_$(PKG_VERSION).tar.gz
それはまだ私の後で読む~/.R/Makevars
ので、特定の変数をここに設定することはできません。ただし、を設定MYDEBUG=...
してMakefile
、の定義内で使用することもできます~/.R/Makevars
。
于 2011-12-28T20:53:03.503 に答える