免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4071 | 回复: 1
打印 上一主题 下一主题

[应用] Make:34 ***missing separator. Stop. 编译错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-08-05 17:13 |只看该作者 |倒序浏览
今天从miniupnp官网上下载了一个miniupnp1.8,解压后make,出现了Make:34 ***missing separator. Stop. 网上大部分人说是没有tab符合,但是仔细查看了makefile,发现34行就是一个赋值操作,有不到tab,其他该有tab的地方也都有tab了。请各位大侠帮忙查看一下原因!多谢!
Makfile如下:
  1. # $Id: Makefile,v 1.73 2013/02/06 13:11:45 nanard Exp $
  2. # MiniUPnP project
  3. # http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
  4. # Author: Thomas Bernard
  5. #
  6. # Makefile for miniupnpd (MiniUPnP daemon)
  7. #
  8. # This Makefile should work for *BSD and SunOS/Solaris.
  9. # On Mac OS X, use "bsdmake" to build.
  10. # This Makefile is NOT compatible with GNU Make.
  11. # Linux users, please use Makefile.linux :
  12. #  make -f Makefile.linux
  13. #
  14. # options can be passed to genconfig.sh through CONFIG_OPTIONS :
  15. # $ CONFIG_OPTIONS="--ipv6 --igd2" make
  16. #

  17. CFLAGS ?= -pipe -Os
  18. #CFLAGS = -pipe -O -g -DDEBUG
  19. CFLAGS += -ansi
  20. CFLAGS += -Wall
  21. CFLAGS += -W
  22. CFLAGS += -Wstrict-prototypes
  23. #CFLAGS += -Wdeclaration-after-statement
  24. #CFLAGS += -Wno-missing-field-initializers
  25. CFLAGS += -fno-common
  26. CC ?= gcc
  27. RM = rm -f
  28. MV = mv
  29. INSTALL = install
  30. STRIP = strip

  31. # OSNAME and FWNAME are used for building OS or FW dependent code.
  32. OSNAME != uname -s
  33. ARCH != uname -m
  34. .ifndef FWNAME
  35. .if exists(/usr/include/net/pfvar.h)
  36. FWNAME = pf
  37. .else
  38. FWNAME = ipf
  39. .endif
  40. .endif

  41. # better way to find if we are using ipf or pf
  42. .if defined(/etc/rc.subr) && defined(/etc/rc.conf)
  43. .if $(OSNAME) == "FreeBSD"
  44. FWNAME != . /etc/rc.subr; . /etc/rc.conf; \
  45.           if checkyesno ipfilter_enable; then \
  46.           echo "ipf"; else echo "pf"; fi
  47. .endif

  48. .if $(OSNAME) == "NetBSD"
  49. FWNAME != . /etc/rc.subr; . /etc/rc.conf; \
  50.           if checkyesno ipfilter; then \
  51.           echo "ipf"; else echo "pf"; fi
  52. .endif

  53. .if $(OSNAME) == "DragonFly"
  54. FWNAME != . /etc/rc.subr; . /etc/rc.conf; \
  55.           if chechyesno ipfilter; then \
  56.           echo "ipf"; else echo "pf"; fi
  57. .endif
  58. .endif

  59. .if $(OSNAME) == "Darwin"
  60. FWNAME = ipfw
  61. .endif

  62. # Solaris specific CFLAGS
  63. .if $(OSNAME) == "SunOS"
  64. CFLAGS += -DSOLARIS2=`uname -r | cut -d. -f2`
  65. .if $(ARCH) == "amd64"
  66. CFLAGS += -m64 -mcmodel=kernel -mno-red-zone -ffreestanding
  67. .elif $(ARCH) == "sparc64"
  68. CFLAGS += -m64 -mcmodel=medlow
  69. .endif
  70. .endif

  71. STDOBJS = miniupnpd.o upnphttp.o upnpdescgen.o upnpsoap.o \
  72.           upnpredirect.o getifaddr.o daemonize.o upnpglobalvars.o \
  73.           options.o upnppermissions.o minissdp.o natpmp.o \
  74.           upnpevents.o upnputils.o getconnstatus.o \
  75.           upnppinhole.o
  76. BSDOBJS = bsd/getifstats.o bsd/ifacewatcher.o bsd/getroute.o
  77. SUNOSOBJS = solaris/getifstats.o bsd/ifacewatcher.o bsd/getroute.o
  78. MACOBJS = mac/getifstats.o bsd/ifacewatcher.o bsd/getroute.o
  79. PFOBJS = pf/obsdrdr.o pf/pfpinhole.o
  80. IPFOBJS = ipf/ipfrdr.o
  81. IPFWOBJS = ipfw/ipfwrdr.o ipfw/ipfwaux.o
  82. MISCOBJS = upnpreplyparse.o minixml.o

  83. ALLOBJS = $(STDOBJS) $(MISCOBJS)
  84. .if $(OSNAME) == "SunOS"
  85. ALLOBJS += $(SUNOSOBJS)
  86. TESTGETIFSTATSOBJS = testgetifstats.o solaris/getifstats.o
  87. TESTGETROUTEOBJS = testgetroute.o upnputils.o bsd/getroute.o
  88. .elif $(OSNAME) == "Darwin"
  89. ALLOBJS += $(MACOBJS)
  90. TESTGETIFSTATSOBJS = testgetifstats.o mac/getifstats.o
  91. TESTGETROUTEOBJS = testgetroute.o upnputils.o bsd/getroute.o
  92. .else
  93. ALLOBJS += $(BSDOBJS)
  94. TESTGETIFSTATSOBJS = testgetifstats.o bsd/getifstats.o
  95. TESTGETROUTEOBJS = testgetroute.o upnputils.o bsd/getroute.o
  96. .endif

  97. .if $(FWNAME) == "pf"
  98. ALLOBJS += $(PFOBJS)
  99. .elif $(FWNAME) == "ipfw"
  100. ALLOBJS += $(IPFWOBJS)
  101. .else
  102. ALLOBJS += $(IPFOBJS)
  103. .endif

  104. TESTUPNPDESCGENOBJS = testupnpdescgen.o upnpdescgen.o
  105. TESTUPNPPERMISSIONSOBJS = testupnppermissions.o upnppermissions.o
  106. TESTGETIFADDROBJS = testgetifaddr.o getifaddr.o
  107. MINIUPNPDCTLOBJS = miniupnpdctl.o

  108. EXECUTABLES = miniupnpd testupnpdescgen testgetifstats \
  109.               testupnppermissions miniupnpdctl \
  110.               testgetifaddr testgetroute
  111. .if $(OSNAME) == "Darwin"
  112. LIBS =
  113. .else
  114. LIBS = -lkvm
  115. .endif
  116. .if $(OSNAME) == "SunOS"
  117. LIBS += -lsocket -lnsl -lkstat -lresolv
  118. .endif

  119. # set PREFIX variable to install in the wanted place

  120. INSTALLBINDIR = $(PREFIX)/sbin
  121. INSTALLETCDIR = $(PREFIX)/etc
  122. # INSTALLMANDIR = $(PREFIX)/man
  123. INSTALLMANDIR = /usr/share/man

  124. all:        $(EXECUTABLES)

  125. clean:
  126.         $(RM) $(STDOBJS) $(BSDOBJS) $(SUNOSOBJS) $(MACOBJS) $(EXECUTABLES) \
  127.         testupnpdescgen.o \
  128.         $(MISCOBJS) config.h testgetifstats.o testupnppermissions.o \
  129.         miniupnpdctl.o testgetifaddr.o testgetroute.o \
  130.         $(PFOBJS) $(IPFOBJS) $(IPFWOBJS)

  131. install:        miniupnpd genuuid
  132.         $(STRIP) miniupnpd
  133.         $(INSTALL) -d $(DESTDIR)$(INSTALLBINDIR)
  134.         $(INSTALL) -m 555 miniupnpd $(DESTDIR)$(INSTALLBINDIR)
  135.         $(INSTALL) -d $(DESTDIR)$(INSTALLETCDIR)
  136.         $(INSTALL) -b miniupnpd.conf $(DESTDIR)$(INSTALLETCDIR)
  137.         # TODO : install man page correctly
  138. #        $(INSTALL) -d $(INSTALLMANDIR)
  139. #        $(INSTALL) miniupnpd.8 $(INSTALLMANDIR)/cat8/miniupnpd.0

  140. # genuuid is using the uuid cli tool available under OpenBSD 4.0 in
  141. # the uuid-1.5.0 package
  142. # any other cli tool returning a uuid on stdout should work.
  143. UUID != if which uuidgen 2>&1 > /dev/null; then \
  144.         echo `uuidgen` ; \
  145.         elif which uuid 2>&1 > /dev/null; then \
  146.         echo `uuid` ; \
  147.         else echo "00000000-0000-0000-0000-000000000000"; \
  148.         fi

  149. genuuid:
  150.         $(MV) miniupnpd.conf miniupnpd.conf.before
  151.         sed -e "s/^uuid=[-0-9a-fA-F]*/uuid=$(UUID)/" miniupnpd.conf.before > miniupnpd.conf
  152.         $(RM) miniupnpd.conf.before

  153. depend:        config.h
  154.         mkdep $(ALLOBJS:.o=.c) testupnpdescgen.c testgetifstats.c \
  155.     testupnppermissions.c miniupnpdctl.c testgetifaddr.c \
  156.         testgetroute.c

  157. miniupnpd: config.h $(ALLOBJS)
  158.         $(CC) $(CFLAGS) -o $@ $(ALLOBJS) $(LIBS)

  159. # BSDmake :
  160. #        $(CC) $(CFLAGS) -o $@ $> $(LIBS)

  161. miniupnpdctl:        config.h $(MINIUPNPDCTLOBJS)
  162.         $(CC) $(CFLAGS) -o $@ $(MINIUPNPDCTLOBJS)

  163. testupnpdescgen:        config.h $(TESTUPNPDESCGENOBJS)
  164.         $(CC) $(CFLAGS) -o $@ $(TESTUPNPDESCGENOBJS)

  165. testgetifstats:        config.h $(TESTGETIFSTATSOBJS)
  166.         $(CC) $(CFLAGS) -o $@ $(TESTGETIFSTATSOBJS) $(LIBS)

  167. testgetifaddr:        config.h $(TESTGETIFADDROBJS)
  168.         $(CC) $(CFLAGS) -o $@ $(TESTGETIFADDROBJS)

  169. testupnppermissions:        config.h $(TESTUPNPPERMISSIONSOBJS)
  170.         $(CC) $(CFLAGS) -o $@ $(TESTUPNPPERMISSIONSOBJS)

  171. testgetroute:        config.h $(TESTGETROUTEOBJS)
  172.         $(CC) $(CFLAGS) -o $@ $(TESTGETROUTEOBJS)

  173. # gmake :
  174. #        $(CC) $(CFLAGS) -o $@ $^
  175. # BSDmake :
  176. #        $(CC) $(CFLAGS) -o $@ $>

  177. config.h:        genconfig.sh VERSION
  178.         ./genconfig.sh $(CONFIG_OPTIONS)

  179. .SUFFIXES:        .o .c
  180. .c.o:
  181.         $(CC) $(CFLAGS) -c -o $@ $<

  182. #        $(CC) $(CFLAGS) -c -o $(.TARGET) $(.IMPSRC)

复制代码

论坛徽章:
0
2 [报告]
发表于 2013-08-05 17:46 |只看该作者
搞清楚了,原来是我把makefile文件给搞错了,不好意思!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP