OpenWrt Forum Archive

Topic: "missing separator. Stop." errors in Makefiles

The content of this topic has been archived on 24 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I am currently trying to port a software package to Kamikaze (7.06 release). From times to times the following error in one of the packages' Makefiles occurs:

Makefile:101: *** missing separator.  Stop.

What confuses me is that in some cases, the Makefile has not been changed by me, nor did I change any of the include files (I have double-checked it). Also, the Makefile is not the one I am developing, but some legacy ones. The only thing that seems to help in these cases is run a "make clean" ... Do other people have the same problems, and maybe a better solution than to run "make clean"?

Thanks in advance
Kai Koehne

BTW: My make version is GNU Make 3.80

Try with make v3.81. Nearly every modern distribution like Ubuntu uses make with version 3.81.

(Last edited by forum2006 on 26 Jun 2007, 14:04)

I switched my development machine (now up-to-date Debian, make v3.81). The problem persists. Oh well ...

This is usually cased when you need to have a real TAB and not spaces in certain places in your makefile. Check for that... I know some editing programs will *remove* TABs and replace them with spaces, which is not the right thing to do with makefiles.

I've run into the same problem today. Make reported missing separator at the last line of the package makefile - i.e. the $(eval $(call BuildPackage,Xxx)). The problem was the one last empty line after it. When removed, everything started to work again.

I solve the problem by add DOUBLE SPACE or TAB at this similiar section

define Package/myapp
  TITLE:=jibas   #use `DOUBLE SPACE`
...
endef

define Package/myapp/install
...
    #$(INSTALL_DIR) $(1)/etc/myapp/   #use TAB
...
endef

The discussion might have continued from here.