我需要我的make才能在以下場景中工作。做make時,至少要設置flag_a或flag_b中的一個。未來還可能有flag_c。 化妝flag_a =真 或 化妝flag_b =真 或 化妝flag_a =真flag_b =真條件裏的目標在makefile中與命令一起
清理是簡單的 「使清潔」。無論在製作過程中設置哪個標誌,它都應該清除所有內容。
在我的makefile中,我想設置一個標誌設置變量,最後添加變量。如果變量總和爲0,則表示make中沒有設置標誌。在這種情況下,我想拋出一個錯誤並終止make。 我的makefile文件如下所示。
1 FLAG_A_SET = 0
2 FLAG_B_SET = 0
3所有:
4 IFDEF flag_a
5 FLAG_A_SET = 1
6 ENDIF
7 IFDEF flag_b
8 FLAG_B_SET = 1
9 ENDIF
10 FLAGS_SUM = $(殼回聲$(表達式 「$(FLAG_A_SET)」 + 「$(FLAG_B_SET)」))
11 IFEQ($ (FLAGS_SUM),0)
12片$(誤差必須指定flag_a中的至少一個和flag_b)
13別的
14片讓-C文件
15 ENDIF
然後我收到錯誤「命令,第一目標之前開始」,在第14行 我也有些懷疑語句線10是表達是否正確? 〜
嗨MadScientist,解決了我的一個問題。我的標誌總和邏輯不再需要。現在我的文件如下所示:$(BUILDDIRS) 2(BUILDDIRS): 3 ifeq($(flag_a)$(flag_b),) 4 $(錯誤沒有標誌設置) 5 else 6 tab $ (MAKE)-C文件 7 endif。然後還有另一部分是乾淨的。現在當我乾淨的時候,我收到錯誤「*** no flag is set。Stop」。 – Vimt 2015-02-10 16:19:41
感謝MadScientist。現在我所有的問題都解決了。 – Vimt 2015-02-11 08:06:44