From e9d41ec0cdab8ce30943aea0d7176d64d21e2004 Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 10 Apr 2005 16:28:32 +0000 Subject: port libmysqlclient to our makefile type and make it install -dev stuff into the staging dir git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@609 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/mysql/Makefile | 103 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 83 insertions(+), 20 deletions(-) (limited to 'package/mysql/Makefile') diff --git a/package/mysql/Makefile b/package/mysql/Makefile index 2c54c4232..c471d9c45 100644 --- a/package/mysql/Makefile +++ b/package/mysql/Makefile @@ -19,40 +19,103 @@ PKG_SOURCE_CAT := zcat PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION) PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR) PKG_IPK := $(PACKAGE_DIR)/libmysqlclient_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk - +PKG_IPK_DIR := $(PKG_BUILD_DIR)/ipkg $(DL_DIR)/$(PKG_SOURCE_FILE): mkdir -p $(DL_DIR) $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) $(PKG_MD5SUM) $(PKG_SOURCE_SITE) -$(PKG_BUILD_DIR)/ipkg/rules: $(DL_DIR)/$(PKG_SOURCE_FILE) - mkdir -p $(TOOL_BUILD_DIR) - rm -rf $(PKG_BUILD_DIR) +$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE_FILE) $(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - $(PATCH) $(PKG_BUILD_DIR) ./patches - cp -fpR ./ipkg $(PKG_BUILD_DIR)/ - chmod a+x $(PKG_BUILD_DIR)/ipkg/rules - touch $(PKG_BUILD_DIR)/ipkg/rules + touch $(PKG_BUILD_DIR)/.patched + +$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched + (cd $(PKG_BUILD_DIR); rm -rf config.cache; \ + touch configure.in; \ + touch aclocal.m4; \ + touch Makefile.in; \ + touch config.h.in; \ + touch configure; \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="-I$(STAGING_DIR)/usr/include" \ + LDFLAGS="-L$(STAGING_DIR)/usr/lib" \ + OPTIMIZE_CFLAGS="$(TARGET_CFLAGS)" \ + OPTIMIZE_CXXFLAGS="$(TARGET_CFLAGS)" \ + ac_atomic_add=yes \ + ac_atomic_sub=yes \ + ac_cv_sys_restartable_syscalls=yes \ + ac_cv_conv_longlong_to_float=yes \ + mysql_cv_compress=yes \ + mysql_cv_gethostname_style=glibc2 \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --prefix=/ \ + --exec-prefix=/ \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --libexecdir=/usr/lib \ + --sysconfdir=/etc \ + --datadir=/usr/share \ + --localstatedir=/var \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --enable-shared \ + --enable-static \ + --disable-assembler \ + --with-pthread \ + --without-raid \ + --with-unix-socket-path=/tmp \ + --without-libwrap \ + --without-pstack \ + --with-low-memory \ + --without-server \ + --without-embedded-server \ + --without-query-cache \ + --without-mysqlfs \ + --without-vio \ + --without-openssl \ + --without-docs \ + --without-bench \ + --without-readline \ + $(DISABLE_NLS) \ + $(DISABLE_LARGEFILE) \ + ); + touch $(PKG_BUILD_DIR)/.configured -$(PKG_IPK): $(PKG_BUILD_DIR)/ipkg/rules - cd $(PKG_BUILD_DIR); \ - TOPDIR="$(TOPDIR)" IPKG_RULES_INC="$(TOPDIR)/rules.mk" \ - INSTALL_DIR="$(STAGING_DIR)" \ - ./ipkg/rules package +$(PKG_BUILD_DIR)/libmysql/.libs/libmysqlclient.so: $(PKG_BUILD_DIR)/.configured + $(MAKE) -C "$(PKG_BUILD_DIR)/libmysql" \ + CC="$(HOSTCC)" \ + LINK="$(HOSTCC) -o conf_to_src -lc" \ + CFLAGS="" \ + conf_to_src + $(MAKE) -C "$(PKG_BUILD_DIR)" \ + SUBDIRS="include libmysql" \ + all + +$(STAGING_DIR)/include/mysql/mysql.h: $(PKG_BUILD_DIR)/libmysql/.libs/libmysqlclient.so + $(MAKE) -C "$(PKG_BUILD_DIR)" \ + DESTDIR="$(STAGING_DIR)" \ + SUBDIRS="include libmysql" \ + install + +$(PKG_IPK): $(PKG_BUILD_DIR)/libmysql/.libs/libmysqlclient.so + $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) libmysqlclient.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) + mkdir -p $(PKG_IPK_DIR)/usr/lib + cp $< $(PKG_IPK_DIR)/usr/lib/ + mkdir -p $(PACKAGE_DIR) + $(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR) $(IPKG_STATE_DIR)/info/libmysqlclient.list: $(PKG_IPK) $(IPKG) install $(PKG_IPK) -source: $(DL_DIR)/$(PKG_SOURCE_FILE) -prepare: $(PKG_BUILD_DIR)/ipkg/rules -compile: $(PKG_IPK) +source: $(DL_DIR)/$(PKG_SOURCE) +prepare: $(PKG_BUILD_DIR)/.patched +compile: $(STAGING_DIR)/include/mysql/mysql.h $(PKG_IPK) install: $(IPKG_STATE_DIR)/info/libmysqlclient.list clean: - -cd $(PKG_BUILD_DIR); \ - TOPDIR="$(TOPDIR)" IPKG_RULES_INC="$(TOPDIR)/rules.mk" \ - INSTALL_DIR="$(STAGING_DIR)" \ - ./ipkg/rules clean rm -rf $(PKG_BUILD_DIR) rm -f $(PKG_IPK) - -- cgit v1.2.3