[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:18559] gmake
-
From:H.Shiozaki
-
Date:Thu, 24 Apr 2003 19:35:41 +0900 (JST)
- Subject: [plamo:18559] gmake
- From: "H.Shiozaki" <hshiozaki@xxxxxxxxx>
- Date: Thu, 24 Apr 2003 19:32:44 +0900
汐崎と申します。
gmakeについて教わりたいのですが。
この文章内では,
FreeBSDの標準make, Linuxで標準的に使われるgmake
とを区別して呼称することにします。
FreeBSD用上ではmakeを,
OSTパラメータを以下の様な方法でmakeを起動して,
make -f make-foo.fb OST=fb44
希望通りの動作をしています。
--- make-foo.fb(makefile名)の抜粋
PNAME=foo
.if $(OST)=="fb47" || $(OST)=="fb46" || $(OST)=="fb44"
$(PNAME): $(PNAME).c
-> gcc -o $(PNAME)-$(OST) $(PNAME).c
.endif
===
Linux上でgmake(make)を使って,
同様のことをするための記述方法を教えて下さい。
以下は,うまくいかない記述例です。
--- make-fll.lx(makefile名)の抜粋
例1.
#ifeq ($(strip $(OST)),lx24) || ($(strip $(OST)),lx22) || ($(strip
$(OST)),lx20)
例2.現在以下の方法ですが,
OST=any でもmakeするので,好ましくありません。
---
ifneq ($(strip $(OST)),) # if OST not empty
$(PNAME): $(PNAME).c
-> gcc -o $(PNAME)-$(OST) $(PNAME).c
endif
--
例3.うまくいくが,あまりにもmakeらしくない例
この例では,->同じコマンドが表れるので好ましくない。
ifneq ($(strip $(OST)),lx24)
$(PNAME): $(PNAME).c
-> gcc -o $(PNAME)-$(OST) $(PNAME).c
endif
ifneq ($(strip $(OST)),lx22)
$(PNAME): $(PNAME).c
-> gcc -o $(PNAME)-$(OST) $(PNAME).c
endif
ifneq ($(strip $(OST)),lx20)
$(PNAME): $(PNAME).c
-> gcc -o $(PNAME)-$(OST) $(PNAME).c
endif
---
ifeq
elseifeq <=*
endif
<=*この様な,ダイレクティブは,定義されていないのですが,
コマンド行gccが変化する場合には,
この種のダイレクティブがあったらいいなと思う
場面もあると思うのですが。
---
現在は,FreeBSD用とLinux用のmakefileを別々にしていますが
最初は,1つのmaikefileで作成すると,makeとgmake では
微妙に異なり,長い間うまくいかなかったのです。
皆さんは,別々にしていますか,?
それとも1つのファイルでうまくいっているのでしょうか?
尚,info make 等を,参考にしました。
以上ですが,宜しくお願いします。
---
Email: hshiozalo@nifty.com
- Follow-Ups
-
- [plamo:18561] Re: gmake, Takao Ono
[検索ページ]
[メール一覧]
Plamo ML 公開システム