2010-12-07 79 views
0

比方說,我有一個主要目標,exe這取決於三個庫:如何控制make目標的執行順序?

exe: LIB1.lib LIB2.lib LIB3.lib 

和LIB目標是這樣的:

LIB1: $(LIB1OBJECTS) 
LIB2: $(LIB2OBJECTS) 
LIB3: $(LIB3OBJECTS) 

給予大部分的時間,使會運行一個-j標誌,我想要並行構建LIB1和LIB2,如何確保LIB3總是在LIB2之後構建?

+0

我會希望規則去像`LIB1.lib:$(LIB1OBJECTS)`,而不是`LIB1:$(LIB1OBJECTS)`。也許這個混合名稱是爲什麼Ignacio Vazquez-Abrams的建議不適合你? – slowdog 2010-12-10 22:49:55

回答

2

使LIB3依賴於LIB2。

+0

我可以使它依賴於LIB2以及對象嗎?我嘗試過放入類似`LIB3:$(LIB3OBJECTS)LIB2`的東西,但是一定是錯誤的,因爲它有時會在不等待LIB2完成的情況下開始構建LIB3。 – Geo 2010-12-07 08:45:06