Makefile 编译openwrt包时生成错误

Makefile 编译openwrt包时生成错误,makefile,openwrt,Makefile,Openwrt,我想为openwrt构建一个包 我使用这个openwrt生成文件: 包括$(TOPDIR)/rules.mk xmmp的Makefile如下所示: CFLAGS := -fPIC -O3 -g -Wall -Werror MAJOR := 0 MINOR := 1 NAME := xmpp VERSION := $(MAJOR).$(MINOR) lib: lib$(NAME).so.$(VERSION) lib$(NAME).so.$(VERSION): $(NAME).o $(C

我想为openwrt构建一个包

我使用这个openwrt生成文件:

包括$(TOPDIR)/rules.mk

xmmp的Makefile如下所示:

CFLAGS := -fPIC -O3 -g -Wall -Werror
MAJOR := 0
MINOR := 1
NAME := xmpp
VERSION := $(MAJOR).$(MINOR)

lib: lib$(NAME).so.$(VERSION)

lib$(NAME).so.$(VERSION): $(NAME).o
    $(CXX) -shared -Wl,-soname,lib$(NAME).so.$(MAJOR) $^ -o $@

clean:
    $(RM) *.o *.so*
但在编译包时,我遇到了以下错误:

make[3]: Entering directory `/home/anis/cwmp/AA3/package/libxmpp'
rm -f /home/anis/cwmp/AA3/staging_dir/target-i386_uClibc-0.9.33.2/stamp/.libxmpp_installed
make[3]: [clean-staging] Error 123 (ignored)
make[3]: Leaving directory `/home/anis/cwmp/AA3/package/libxmpp'
rm -rf /home/anis/cwmp/AA3/tmp/stage-libxmpp
mkdir -p /home/anis/cwmp/AA3/tmp/stage-libxmpp/host /home/anis/cwmp/AA3/staging_dir/target-i386_uClibc-0.9.33.2/packages /home/anis/cwmp/AA3/staging_dir/host/packages
install -d -m0755 /home/anis/cwmp/AA3/tmp/stage-libxmpp/usr/include
cp -fpR /home/anis/cwmp/AA3/build_dir/target-i386_uClibc-0.9.33.2/libxmpp-2012-06-11/xmpp.h /home/anis/cwmp/AA3/tmp/stage-libxmpp/usr/include
install -d -m0755 /home/anis/cwmp/AA3/tmp/stage-libxmpp/lib
cp -fpR /home/anis/cwmp/AA3/build_dir/target-i386_uClibc-0.9.33.2/libxmpp-2012-06-11/libxmpp.so* /home/anis/cwmp/AA3/tmp/stage-libxmpp/usr/lib
find /home/anis/cwmp/AA3/tmp/stage-libxmpp -name '*.la' | xargs -r rm -f; 
if [ -f /home/anis/cwmp/AA3/staging_dir/target-i386_uClibc-0.9.33.2/packages/libxmpp.list ]; then /home/anis/cwmp/AA3/scripts/clean-package.sh "/home/anis/cwmp/AA3/staging_dir/target-i386_uClibc-0.9.33.2/packages/libxmpp.list" "/home/anis/cwmp/AA3/staging_dir/target-i386_uClibc-0.9.33.2"; fi
if [ -d /home/anis/cwmp/AA3/tmp/stage-libxmpp ]; then (cd /home/anis/cwmp/AA3/tmp/stage-libxmpp; find ./ > /home/anis/cwmp/AA3/tmp/stage-libxmpp.files);    SHELL= /home/anis/cwmp/AA3/staging_dir/host/bin/flock /home/anis/cwmp/AA3/tmp/.staging-dir.flock -c ' mv /home/anis/cwmp/AA3/tmp/stage-libxmpp.files /home/anis/cwmp/AA3/staging_dir/target-i386_uClibc-0.9.33.2/packages/libxmpp.list && cp -fpR /home/anis/cwmp/AA3/tmp/stage-libxmpp/* /home/anis/cwmp/AA3/staging_dir/target-i386_uClibc-0.9.33.2/; '; fi
cp: cannot overwrite directory `/home/anis/cwmp/AA3/staging_dir/target-i386_uClibc-0.9.33.2/usr/lib' with non-directory
make[2]: *** [/home/anis/cwmp/AA3/staging_dir/target-i386_uClibc-0.9.33.2/stamp/.libxmpp_installed] Error 1
make[2]: Leaving directory `/home/anis/cwmp/AA3/package/libxmpp'
make[1]: *** [package/libxmpp/compile] Error 2
make[1]: Leaving directory `/home/anis/cwmp/AA3'
make: *** [package/libxmpp/compile] Error 2

我的直觉是这条线:

$(CP) $(PKG_BUILD_DIR)/libxmpp.so* $(1)/usr/lib
解决这个问题

$(CP) $(PKG_BUILD_DIR)/libxmpp.so* $(1)/usr/lib/

解决问题?

cp:无法用非目录覆盖目录“/home/anis/cwmp/AA3/staging\u dir/target-i386\u uClibc-0.9.33.2/usr/lib”:看起来您正在将名为
lib
的文件复制到与目录冲突的
/home/anis/cwmp/AA3/staging\u dir/target-i386\u uClibc-0.9.33.2/usr//code>那里
$(CP) $(PKG_BUILD_DIR)/libxmpp.so* $(1)/usr/lib/