add Build/InstallDev template to install dev files in STAGING_DIR,
authorNicolas Thill <nico@openwrt.org>
Wed, 24 May 2006 07:12:59 +0000 (07:12 +0000)
committerNicolas Thill <nico@openwrt.org>
Wed, 24 May 2006 07:12:59 +0000 (07:12 +0000)
introduce a NEEDS: package field to implement SELECT PACKAGE_foo
in menuconfig.

SVN-Revision: 3824

openwrt/package/rules.mk
openwrt/scripts/gen_menuconfig.pl

index 99e4a846a5403c19600cd5c21830865cbc6ada8b..4999974900f0894807d88f154279a34233df93e5 100644 (file)
@@ -29,8 +29,13 @@ define Build/DefaultTargets
        $(call Build/Compile)
        touch $$@
     
+  $(PKG_BUILD_DIR)/.dev-installed: $(PKG_BUILD_DIR)/.built
+       $(call Build/InstallDev)
+       touch $$@
+    
   package-clean: FORCE
        $(call Build/Clean)
+       $(call Build/UninstallDev)
 
   package-rebuild: FORCE
        @-rm $(PKG_BUILD_DIR)/.built
@@ -44,6 +49,7 @@ define Package/Default
   SECTION:=opt
   CATEGORY:=Extra packages
   DEPENDS:=
+  NEEDS:=
   MAINTAINER:=OpenWrt Developers Team <openwrt-devel@openwrt.org>
   SOURCE:=$(patsubst $(TOPDIR)/%,%,${shell pwd})
   VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
@@ -86,6 +92,7 @@ define BuildPackage
   endif
 
   IDEPEND_$(1):=$$(strip $$(DEPENDS))
+  INEED_$(1):=$$(strip $$(NEEDS))
 
   DUMPINFO += \
        echo "Package: $(1)"; 
@@ -103,6 +110,7 @@ define BuildPackage
   DUMPINFO += \
        echo "Version: $(VERSION)"; \
        echo "Depends: $$(IDEPEND_$(1))"; \
+       echo "Needs: $$(INEED_$(1))"; \
        echo "Category: $(CATEGORY)"; \
        echo "Title: $(TITLE)"; \
        echo "Description: $(DESCRIPTION)" | sed -e 's,\\,\n,g';
@@ -147,6 +155,8 @@ define BuildPackage
   $$(INFO_$(1)): $$(IPKG_$(1))
        $(IPKG) install $$(IPKG_$(1))
 
+  compile-targets: $(PKG_BUILD_DIR)/.dev-installed
+
   $(1)-clean:
        rm -f $(PACKAGE_DIR)/$(1)_*
 
@@ -183,10 +193,14 @@ define Build/Configure/Default
        [ -x configure ] && \
                $(TARGET_CONFIGURE_OPTS) \
                CFLAGS="$(TARGET_CFLAGS)" \
+               CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
+               LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
                ./configure \
                --target=$(GNU_TARGET_NAME) \
                --host=$(GNU_TARGET_NAME) \
                --build=$(GNU_HOST_NAME) \
+               --program-prefix="" \
+               --program-suffix="" \
                --prefix=/usr \
                --exec-prefix=/usr \
                --bindir=/usr/bin \
@@ -222,10 +236,16 @@ define Build/Compile
   $(call Build/Compile/Default,)
 endef
 
+define Build/InstallDev
+endef
+
 define Build/Clean
        $(MAKE) clean
 endef
 
+define Build/UninstallDev
+endef
+
 ifneq ($(DUMP),)
   dumpinfo: FORCE
        @$(DUMPINFO)
index e282ee3ed2d95a8b96f210af5af392eade2af32d..e304f188139fae83e495f441042d7a7f60a2b78f 100755 (executable)
@@ -28,6 +28,9 @@ sub print_category($) {
                        foreach my $depend (@{$pkg->{depends}}) {
                                print "\t\tdepends PACKAGE_$depend\n";
                        }
+                       foreach my $need (@{$pkg->{needs}}) {
+                               print "\t\tselect PACKAGE_$need\n";
+                       }
                        print "\t\thelp\n";
                        print $pkg->{description};
                        print "\n";
@@ -63,6 +66,10 @@ while ($line = <>) {
                my @dep = split /,\s*/, $1;
                $pkg->{depends} = \@dep;
        };
+       $line =~ /^Needs: \s*(.+)\s*$/ and do {
+               my @need = split /,\s*/, $1;
+               $pkg->{needs} = \@need;
+       };
        $line =~ /^Category: \s*(.+)\s*$/ and do {
                $pkg->{category} = $1;
                defined $category{$1} or $category{$1} = {};