2014-02-22 60 views
0

我嘗試編譯C++手動項目(我是新手)mingw32-make:***沒有目標。停止

我有一個包含MakeFile.am:

ifneq ($(WANT_JANSSON),) 
JANSSON_INCLUDES= -I$(top_srcdir)/compat/jansson 
else 
JANSSON_INCLUDES= 
endif 

EXTRA_DIST = example-cfg.json nomacro.pl 

SUBDIRS  = compat 

INCLUDES = $(PTHREAD_FLAGS) -fno-strict-aliasing $(JANSSON_INCLUDES) 

bin_PROGRAMS = minerd 

dist_man_MANS = minerd.1 

minerd_SOURCES = elist.h miner.h compat.h \ 
      cpu-miner.c util.c \ 
      sha2.c scrypt.c 
ifneq ($(ARCH_x86),) 
minerd_SOURCES += sha2-x86.S scrypt-x86.S 
endif 
ifneq ($(ARCH_x86_64),) 
minerd_SOURCES += sha2-x64.S scrypt-x64.S 
endif 
ifneq ($(ARCH_ARM),) 
minerd_SOURCES += sha2-arm.S scrypt-arm.S 
endif 
minerd_LDFLAGS = $(PTHREAD_FLAGS) 
minerd_LDADD = @[email protected] @[email protected] @[email protected] @[email protected] 
minerd_CPPFLAGS = @[email protected] 

我已經打開Windows的命令提示符,類型:

mingw32-make -f Makefile.am 

輸出:

mingw32-make: *** No targets. Stop. 

我不知道爲什麼日是錯誤顯示。

回答

0

您對可用工具感到困惑。

A Makefile.am不是makefile。這是一個automake文件。 Automake是一個工具,用於描述makefile(Makefile.am文件)和一組配置選項(通常但不一定是由自動配置工具autoconf生成),並生成一個名爲Makefile的生成文件。

然後,您可以運行makeMakefile以構建您的系統。

這些工具(autoconf和automake)對於便攜式軟件非常重要,因爲許多類UNIX系統都有細微差別。這些工具可以幫助您抽象出所有這些差異,甚至支持您以前從未使用過的新系統。

在Windows上,這並不重要,因爲大多數Windows系統都非常相似且向後兼容。所以我懷疑大多數針對純Windows環境的人都會用autoconf和automake來打擾。

+0

THx爲您的答案,我已經makefile.am不是makefile 所以現在我怎樣才能建立該項目? –

+0

簡短的回答是,你不能在Windows上構建它。它是爲UNIX環境創建的。如果你想在Windows上構建它,你首先必須將它移植到Windows上(我假設它尚未被移植過,並且源碼自帶的README文件等並不告訴你如何構建它視窗)。將程序移植到Windows遠遠超出了像StackOverflow這樣的網站的範圍。 – MadScientist

相關問題