openwrt添加模块时编译报No rule to make target `install'

原因在于在定义pkg的Makefile时,添加如下一句导致

PKG_INSTALL:=1

去掉就可以了,PKG_INSTALL的作用为调用pkg里面的install。

例如目录结构为:

.
├── Makefile
└── src
    ├── leon_test.c

    └── Makefile

最外层Makefile定义install的格式如下,如果使用最外层的install,那么不加PKG_INSTALL:=1这句

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

如果加了,那么代表使用pkg里层Makefile的install,如我里面的Makefile如下,那么这个install将得到执行

EXEC = leon
$(EXEC): leon_test.c
	$(CC) $^ $(CFLAGS) -o $@

clean: 
	rm -rf $(EXEC)

install:
	echo "@@@@@@@###########!!!!!!!!!!!"


你可能感兴趣的:(编译链接)