1

開発中のパッケージをデバッグしようとしています。パッケージのビルド、チェック、インストールにはmakefileを使用しています。パッケージはRcppパッケージであるため、すでにmakevarsファイルとmakevars.winファイルが含まれています。私が探しているのは、特定のmakeルールのためだけにCXXFLAGSを変更することでした。その後、でmake debug実行さR CMD INSTALLれますCXXFLAGS= -Wall -pedantic -g -O0"が、通常はデバッグ情報なしmake installで実行されます。CXXFLAGS=-O3パッケージ、個人、またはシステムのmakevarsファイルを変更せずに、これを動的に変更する良い方法はありますか?

4

1 に答える 1

2

CXXFLAGS周りは1つしかないのでそうは思いません。ただし、異なる「make」と「makedebug」のターゲット部分で再度割り当てることができます。

2つのバージョンを~/.R/Makevars.normalamdのまま~/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 に答える