2016-01-25 3 views
0

Я компилирую пакет пользователя с OpenWRT SDK. Файлы src находятся в OpenWrt-SDK-ar71xx-generic_gcc-5.2.0_musl-1.1.11.Linux-i686/package/adapter/src.Openwrt SDK: разрешено разрешение файла Makefile

В каталоге/адаптер/Src, у меня также есть Makefile:

adapter: adapter.o 
    $(CC) $(LDFLAGS) adapter.o -o adapter 
adapter.o: adapter.c 
    $(CC) $(CFLAGS) -c adapter.c 
clean: 
    rm *.o adapter 

Запуск местного производства в/адаптер/каталог ЦСИ работает отлично.

Затем я добавил следующий Makefile в каталоге/адаптера:

include $(TOPDIR)/rules.mk 
PKG_NAME:=adapter 
PKG_RELEASE=1 

PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) 

include $(INCLUDE_DIR)/package.mk 

define Package/adapter 
    SECTION:=utils 
    CATEGORY:=Utilities 
    TITLE:=adapter --prints a dummy message 
endef 

define Build/Prepare 
    mkdir -p $(PKG_BUILD_DIR) 
    $(cp) ./src/* $(PKG_BUILD_DIR) 
endef 

define Build/Compile 
    $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) 
endef 

define Package/adapter/install 
    $(INSTALL_DIR) $(1)/bin 
    $(INSTALL_BIN) $(PKG_BUILD_DIR)/adapter $(1)/bin 
endef 

$(eval $(call BuildPackage,adapter)) 

И когда я бегу сделать в верхней директории, я получаю следующее сообщение об ошибке:

[email protected]:~/openwrt/OpenWrt-SDK-ar71xx-generic_gcc-5.2.0_musl-1.1.11.Linux-i686$ make V=99 
Collecting package info: done 
# 
# configuration written to .config 
# 
make[1]: Entering directory `/home/zy/openwrt/OpenWrt-SDK-ar71xx-generic_gcc-5.2.0_musl-1.1.11.Linux-i686' 
make[2]: Entering directory `/home/zy/openwrt/OpenWrt-SDK-ar71xx-generic_gcc-5.2.0_musl-1.1.11.Linux-i686' 
make[3]: Entering directory `/home/zy/openwrt/OpenWrt-SDK-ar71xx-generic_gcc-5.2.0_musl-1.1.11.Linux-i686/package/adapter' 
mkdir -p /home/zy/openwrt/OpenWrt-SDK-ar71xx-generic_gcc-5.2.0_musl-1.1.11.Linux-i686/build_dir/target-mips_34kc_musl-1.1.11/adapter 
./src/* /home/zy/openwrt/OpenWrt-SDK-ar71xx-generic_gcc-5.2.0_musl-1.1.11.Linux-i686/build_dir/target-mips_34kc_musl-1.1.11/adapter 
bash: ./src/Makefile: Permission denied 
make[3]: *** [/home/zy/openwrt/OpenWrt-SDK-ar71xx-generic_gcc-5.2.0_musl-1.1.11.Linux-i686/build_dir/target-mips_34kc_musl-1.1.11/adapter/.prepared_e0632caf1f416a667d5957a7f385ceb6] Error 126 
make[3]: Leaving directory `/home/zy/openwrt/OpenWrt-SDK-ar71xx-generic_gcc-5.2.0_musl-1.1.11.Linux-i686/package/adapter' 
make[2]: *** [package/adapter/compile] Error 2 
make[2]: Leaving directory `/home/zy/openwrt/OpenWrt-SDK-ar71xx-generic_gcc-5.2.0_musl-1.1.11.Linux-i686' 
make[1]: *** [/home/zy/openwrt/OpenWrt-SDK-ar71xx-generic_gcc-5.2.0_musl-1.1.11.Linux-i686/staging_dir/target-mips_34kc_musl-1.1.11/stamp/.package_compile] Error 2 
make[1]: Leaving directory `/home/zy/openwrt/OpenWrt-SDK-ar71xx-generic_gcc-5.2.0_musl-1.1.11.Linux-i686' 
make: *** [world] Error 2 

Запуск сделать как корень дает та же ошибка. Может кто-нибудь посоветует, пожалуйста? Спасибо!

ответ

0

согласно вашей информации, я думаю, что ошибка может быть вызвана в каталоге Makefile в каталоге/адаптере.

define Build/Prepare 
    mkdir -p $(PKG_BUILD_DIR) 
    $(cp) ./src/* $(PKG_BUILD_DIR) 
endef 

должен изменить следующим образом:

define Build/Prepare 
    mkdir -p $(PKG_BUILD_DIR) 
    $(CP) ./src/* $(PKG_BUILD_DIR) 
endef 

$(CP) переменная, определенная в rules.mk CP:=cp -fpR так что вы можете использовать его, чтобы скопировать что-нибудь.

+0

Это сработало. Спасибо! –

Смежные вопросы