2011-12-28 12 views
1

私が開発しているパッケージをデバッグしようとしています。私はmakefileを使用して、パッケージの構築、検査、およびインストールを行っています。パッケージはRcppパッケージであり、すでにmakevarsとmakevars.winファイルが入っています。私が探しているのは、CXXFLAGSを特定のmakeルールのためだけに変更したことです。 make debugR CMD INSTALLCXXFLAGS= -Wall -pedantic -g -O0"と実行しますが、通常のmake installはデバッグ情報なしでCXXFLAGS=-O3と実行されます。私のパッケージ、個人用またはシステム用のmakevarsファイルを変更することなく、これを動的に変更する良い方法がありますか?R CMDのCXXFLAGSを変更するRパッケージを開発するためのINSTALL

答えて

1

CXXFLAGSには1つしかないとは思いません。しかし、別のmakeと `make debug 'のターゲット部分を再割り当てすることができます。

あなたはそれが価値がある何のため

... ~/R/Makevars.debug AMD ~/.R/Makevars.normal 2つのバージョンを維持し、それらの間のリンクを反転するためのスクリプトを使用することができます。私はちょうど ~/.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を読むので、特定のvarsはここで設定することはできません。しかし、MakefileMYDEBUG=...を設定し、それを~/.R/Makevarsの定義内で使用することができます。

+0

あなたはRのコアチームがこのようなことを許すという考えを楽しむと思いますか? –

+0

また、それを達成するための環境変数などの方法はありませんか? –

+0

env変数でも動作させることができます。これは基本的な 'make'機能です。 –

関連する問題