mingw32-make:***没有目标。停止

时间:2014-02-22 21:52:10

标签: c++ c compilation makefile

我正在尝试手动编译C ++项目(我是新手)

我有一个包含以下内容的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    = @LIBCURL@ @JANSSON_LIBS@ @PTHREAD_LIBS@ @WS2_LIBS@
minerd_CPPFLAGS = @LIBCURL_CPPFLAGS@

我打开了Windows'命令提示符并输入:

mingw32-make -f Makefile.am

输出:

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

我不知道为什么会出现这个错误。

1 个答案:

答案 0 :(得分:1)

您对可用的工具感到困惑。

Makefile.am不是makefile。这是一个automake文件。 Automake是一个工具,它将描述一个makefile(Makefile.am文件)和一组配置选项(通常,但不一定,由自动配置工具autoconf生成),以及生成一个名为Makefile的生成文件。

然后,您可以使用make运行Makefile以构建您的系统。

这些工具(autoconf和automake)对于便携式软件非常重要,因为许多类UNIX系统都有细微差别。这些工具可以帮助您消除所有这些差异,甚至支持您以前从未使用过的新系统。

在Windows上,这并不重要,因为大多数Windows系统非常相似且向后兼容。因此,我怀疑大多数针对仅限Windows环境的人都会使用autoconf和automake。