[OpenWrt-Devel] Need help with Makefile error *** missing separator

Andy Wong axisaxisgz at 163.com
Thu Jan 7 22:46:29 EST 2016


It works.Thanks jow for the details.
At 2016-01-05 18:45:47, "Jo-Philipp Wich" <jow at openwrt.org> wrote:
>Each line in Make is started in a new shell. Your added lines are 
>executed as (simplified):
>
>bash -c 'if [ -f "./files/luci/i18n/$(2).zh-cn.lmo" ]; then'
>bash -c '$(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n'
>bash -c '$(INSTALL_DATA) ./files/luci/i18n/$(2).zh-cn.lmo $(1)/usr/lib/lua/luci/i18n'
>bash -c 'fi'
>
>The first "if" command is invalid because it is not terminated 
>("unexpected end of file") and the single "fi" command in the end is 
>invalid syntax as well (preceding if ... then missing).
>
>You need to join your four lines into a single statement by escaping 
>the newline with a backslash and by terminating statements with a 
>semicolon:
>
>>	if [ -f "./files/luci/i18n/$(2).zh-cn.lmo" ]; then \
>>		$(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n; \
>>		$(INSTALL_DATA) ./files/luci/i18n/$(2).zh-cn.lmo $(1)/usr/lib/lua/luci/i18n; \
>>	fi
>
>Which will result in (simplified)
>
>bash -c 'if [ -f "./files/luci/i18n/$(2).zh-cn.lmo" ]; then $(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n; $(INSTALL_DATA) ./files/luci/i18n/$(2).zh-cn.lmo $(1)/usr/lib/lua/luci/i18n; fi'
>
>
>~ Jow
>
>On 01/05/2016 10:41 AM, Andy Wong wrote:
>> Hi.I not quite understand.I've change the install part as below:
>> 
>> define Package/openwrt-dist-luci/install
>> #!/bin/sh
>> $(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller
>> $(INSTALL_DATA) ./files/luci/controller/$(2).lua
>> $(1)/usr/lib/lua/luci/controller/$(2).lua
>> $(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi
>> $(INSTALL_DATA) ./files/luci/model/cbi/$(2).lua
>> $(1)/usr/lib/lua/luci/model/cbi/$(2).lua
>> $(INSTALL_DIR) $(1)/etc/uci-defaults
>> $(INSTALL_BIN) ./files/root/etc/uci-defaults/luci-$(2)
>> $(1)/etc/uci-defaults/luci-$(2)
>>         *if [ -f "./files/luci/i18n/$(2).zh-cn.lmo" ]; then*
>>         *$(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n*
>>         *$(INSTALL_DATA) ./files/luci/i18n/$(2).zh-cn.lmo
>> $(1)/usr/lib/lua/luci/i18n*
>>         *fi*
>> exit 0
>> endef
>> 
>> Notice the if then course.
>> 
>> Here is the error now.
>> 
>> if [ -f "./files/luci/i18n/chinadns.zh-cn.lmo" ]; then install -d -m0755
>> /home/Openwrt/witi-openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/openwrt-dist-luci/ipkg-all/luci-app-chinadns/usr/lib/lua/luci/i18n
>> install -m0644 ./files/luci/i18n/chinadns.zh-cn.lmo
>> /home/Openwrt/witi-openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/openwrt-dist-luci/ipkg-all/luci-app-chinadns/usr/lib/lua/luci/i18n
>> fi
>> bash: -c: line 1: syntax error: unexpected end of file
>> make[2]: ***
>> [/home/Openwrt/witi-openwrt/bin/ramips/packages/base/luci-app-chinadns_1.3.8-1_all.ipk]
>> Error 1
>> make[2]: Leaving directory
>> `/home/Openwrt/witi-openwrt/package/my_package/openwrt-dist-luci'
>> make[1]: *** [package/my_package/openwrt-dist-luci/compile] Error 2
>> make[1]: Leaving directory `/homeOpenwrt/witi-openwrt'
>> make: *** [package/openwrt-dist-luci/compile] 错误 2
>> 
>> 
>> 
>> 
>> At 2016-01-04 22:28:36, "Luiz Angelo Daros de Luca" <luizluca at gmail.com>
>> wrote:
>> 
>>     Andy,
>> 
>>     Make runs one line per time. Make the "if" inline or backslash each
>>     newline (adding semicolon when needed)
>> 
>>     Regards
>> 
>> 
>>     Em seg, 4 de jan de 2016 11:56, Andy Wong <axisaxisgz at 163.com
>>     <mailto:axisaxisgz at 163.com>> escreveu:
>> 
>> 
>>         For no misunderstanding.Here is the error now
>>         http://pastebin.com/t4Rb08kA
>> 
>> 
>> 
>> 
>> 
>> 
>>         在 2016-01-04 21:18:14,"Andy Wong" <axisaxisgz at 163.com <mailto:axisaxisgz at 163.com>> 写道:
>>         >Thanks.I have indented like this:<br/>define Package/openwrt-dist-luci/install<br/>#!/bin/sh<br/>	$(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller<br/>	$(INSTALL_DATA) ./files/luci/controller/$(2).lua $(1)/usr/lib/lua/luci/controller/$(2).lua<br/>	$(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi<br/>	$(INSTALL_DATA) ./files/luci/model/cbi/$(2).lua $(1)/usr/lib/lua/luci/model/cbi/$(2).lua<br/>	$(INSTALL_DIR) $(1)/etc/uci-defaults<br/>	$(INSTALL_BIN) ./files/root/etc/uci-defaults/luci-$(2) $(1)/etc/uci-defaults/luci-$(2)<br/>	if [ -f "./files/luci/i18n/$(2).zh-cn.lmo" ]; then<br/>	$(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n<br/>	$(INSTALL_DATA) ./files/luci/i18n/$(2).zh-cn.lmo $(1)/usr/lib/lua/luci/i18n<br/>	fi<br/>endef<br/><br/>But another error appears:<br/>enwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/openwrt-dist-luci/ipkg-all/luci-app-chinadns/etc/uci-defaults/luci-chinadns<br/>if [ -f "./files/luci/i18n/chinadns.zh-cn.lmo" ]; then<br/>bash: -c: line 1: syntax e
> r
>ror: unexpected end of file<br/>make[2]: *** [/home/Openwrt/witi-openwrt/bin/ramips/packages/base/luci-app-chinadns_1.3.8-1_all.ipk] Error 1<br/>make[2]: Leaving directory `/home/Openwrt/witi-openwrt/package/my_package/openwrt-dist-luci'<br/>make[1]: *** [package/my_package/openwrt-dist-luci/compile] Error 2<br/>make[1]: Leaving directory `/home/Openwrt/witi-openwrt'<br/>make: *** [package/openwrt-dist-luci/compile] 错误 2<br/><br/>My if,then course is intending to find out if *.zh-cn.lmo exist,then install it.
>>         >At 2016-01-04 20:20:00, "Jo-Philipp Wich" <jow at openwrt.org <mailto:jow at openwrt.org>> wrote:
>>         >>Hi.
>>         >>
>>         >>Lines in the isntall section must be indented with at least one tab
>>         >>since they're shell instructions.
>>         >>
>>         >>~ Jow
>>         >>_______________________________________________
>>         >>openwrt-devel mailing list
>>         >>openwrt-devel at lists.openwrt.org
>>         <mailto:openwrt-devel at lists.openwrt.org>
>>         >>https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>>         >_______________________________________________
>>         >openwrt-devel mailing list
>>         >openwrt-devel at lists.openwrt.org
>>         <mailto:openwrt-devel at lists.openwrt.org>
>>         >https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>> 
>> 
>> 
>>          
>> 
>>         _______________________________________________
>>         openwrt-devel mailing list
>>         openwrt-devel at lists.openwrt.org
>>         <mailto:openwrt-devel at lists.openwrt.org>
>>         https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>> 
>>     -- 
>> 
>>     Luiz Angelo Daros de Luca
>>     luizluca at gmail.com <mailto:luizluca at gmail.com>
>> 
>> 
>> 
>>  
>> 
>> 
>> 
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel at lists.openwrt.org
>> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>> 
>_______________________________________________
>openwrt-devel mailing list
>openwrt-devel at lists.openwrt.org
>https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list