include $(TOPDIR)/rules.mk

PKG_NAME:=appweb
PKG_VERSION:=2.4.2
PKG_RELEASE:=2

PKG_SOURCE:=$(PKG_NAME)-src-$(PKG_VERSION)-$(PKG_RELEASE).tar.gz
PKG_SOURCE_URL:=http://www.appwebserver.org/software/
PKG_CAT:=zcat

PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-src-$(PKG_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install

PKG_BUILD_DEPENDS:=libopenssl php5-lib

include $(INCLUDE_DIR)/package.mk

define Package/appweb
	CATEGORY:=Mindspeed Packages
	TITLE:=An HTTP administrative console based on Apache.
  	DESCRIPTION:=\
	  This package contains AppWeb, a web based administration console based on Apache.
	DEPENDS:=+libopenssl +php5-lib
	VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
endef

define Package/appweb/conffiles
/etc/appweb/appweb.conf
/etc/appweb/groups.db
/etc/appweb/mime.types
/etc/appweb/server.crt
/etc/appweb/server.key
/etc/appweb/server.key.pem
/etc/appweb/users.db
endef

define Build/Configure
	( cd $(PKG_BUILD_DIR); \
	$(TARGET_CONFIGURE_OPTS) \
	CFLAGS="-g -Os -funit-at-a-time -I$(STAGING_DIR)/usr/include" \
	CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include/openssl" \
	LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
	CC=$(STAGING_DIR)/bin/arm-linux-uclibc-gcc LD=$(STAGING_DIR)/bin/arm-linux-uclibc-ld \
	AR=$(STAGING_DIR)/bin/arm-linux-uclibc-ar strip=$(STAGING_DIR)/bin/arm-linux-uclibc-strip \
	RANLIB=$(STAGING_DIR)/bin/arm-linux-uclibc-ranlib \
	./configure --host=arm-linux \
		--type=RELEASE \
		--webDir=/www/appweb \
		--with-ssl=loadable \
		--with-openssl=loadable \
		--with-openssl-dir=$(STAGING_DIR)/usr/lib \
		--with-openssl-iflags="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/usr/include/openssl" \
		--with-openssl-libpath=$(STAGING_DIR)/usr/lib \
		--with-openssl-libs="crypto ssl" \
		--with-php5=loadable \
		--with-php5-dir=$(STAGING_DIR)/usr/lib \
		--with-php5-iflags="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/usr/include/php -I$(STAGING_DIR)/usr/include/php/Zend -I$(STAGING_DIR)/usr/include/php/TSRM -I$(STAGING_DIR)/usr/include/php/main -I$(STAGING_DIR)/usr/include/php/regex" \
		--with-php5-libpath=$(STAGING_DIR)/usr/lib \
		--with-php5-libs="php5" \
        );
endef
#		--prefix=$(PKG_INSTALL_DIR)/etc/appweb \
#		--libDir=$(PKG_INSTALL_DIR)/usr/lib/appweb \
#		--sbinDir=$(PKG_INSTALL_DIR)/usr/sbin \
#		--webDir=$(PKG_INSTALL_DIR)/www/appweb \

define Build/Compile
	rm -rf $(PKG_INSTALL_DIR)
	mkdir -p $(PKG_INSTALL_DIR)/usr/sbin
	$(MAKE) -C $(PKG_BUILD_DIR) 
	$(MAKE) -C $(PKG_BUILD_DIR) ROOT_DIR=$(PKG_INSTALL_DIR) install
endef

define Package/appweb/install
	$(INSTALL_DIR) $(1)/etc/init.d
	$(INSTALL_BIN) ./files/appweb.init $(1)/etc/init.d/appweb
	$(INSTALL_DIR) $(1)/etc/appweb
	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/appweb/* $(1)/etc/appweb
	$(INSTALL_DATA) ./files/appweb.conf $(1)/etc/appweb/appweb.conf
	$(INSTALL_DIR) $(1)/usr/sbin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin
	$(INSTALL_DIR) $(1)/usr/lib/appweb/modules
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libappweb.so* $(1)/usr/lib
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/appweb/modules/* $(1)/usr/lib/appweb/modules
	$(RM) $(1)/usr/lib/appweb/modules/libcrypto.so
	$(RM) $(1)/usr/lib/appweb/modules/libssl.so
	$(INSTALL_DIR) $(1)/www/appweb/icons
	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/www/appweb/index.html $(1)/www/appweb
	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/www/appweb/icons/* $(1)/www/appweb/icons
	$(INSTALL_DIR) $(1)/var/log/appweb
endef


$(eval $(call BuildPackage,appweb))
