0
我真的不知道make或makefile腳本的任何內容,所以我希望有人能告訴我需要更改什麼。有包括在所有其他的普通的makefile腳本,代碼的這個特定的一塊似乎是負責處理的源文件的列表(DLL_OBJS)和設立目標編譯它們:如何從路徑中刪除子目錄
ifdef DLL_TARGET
DLL_REAL_OBJS=$(addprefix $(OBJDIR)/, $(DLL_OBJS:=.$(OBJ))) $(DLL_VERSION_OBJS)
DLL_OUTPUT_FILE=$(OBJDIR)/$(LIBPREFIX)$(DLL_TARGET).$(DYNAMIC_LIB_SUFFIX)
$(DLL_OUTPUT_FILE): $(DLL_REAL_OBJS) $(DLL_NONPARSED_OBJS)
$(CC) $(CC_SHARED_LIB_FLAGS) $(LD_DYNAMIC) \
\
$(LD_DASH_O)$(DLL_OUTPUT_FILE) \
\
$(DLL_REAL_OBJS) $(DLL_NONPARSED_OBJS) \
$(DLL_EXTRA) $(PRELIB) $(LD_FLAGS) \
$(DLL_REAL_LIBS) $(DLL_NONPARSED_LIBS) $(LD_LIBS) $(DLL_OPTION)
ifdef EMBED_MANIFEST
ifndef SUPPRESS_MANIFEST_DLL
$(PREMANIFEST) $(MT) \
\
$(MANIFESTFLAGS) /outputresource:"$(DLL_OUTPUT_FILE);#2" /manifest $(DLL_OUTPUT_FILE).manifest
endif
endif
endif # DLL_TARGET
問題是,如果我這樣做:
DLL_OBJS=subdir/main
然後,它會嘗試將main.obj文件寫入WINNT5.0_DBG.OBJ/subdir/main.obj
,而我希望它去WINNT5.0_DBG.OBJ/main.obj
。我如何修改上面的代碼以從目標文件輸出路徑中排除源文件的子目錄部分?我懷疑變化將需要發生在DLL_REAL_OBJS
變量。
注意DLL_OBJS
可能是項目的列表,如:
DLL_OBJS=\
subdir/main\
subdir/foo\
bar\
another_source
讓我知道如果任何重要的信息丟失,我會盡我所能來更新我與它的問題。
你知道你正在使用什麼版本的製作? (你可以通過'make -v'找到。) – Beta