# History:
# Date		Author			Comment
# 06-12-2009	Jared Wu.		install at BERoot or
#					LERoot
#	INSTALL_ROOT= $(ROOTDIR)/BERoot
#	INSTALL_ROOT= $(ROOTDIR)/LERoot
#
# Pre-requirement:
#	apt-get install -y bison flex libxml2 libxml2-dev btyacc libjpeg62 libjpeg-dev
#
# compile: 
#	cd sdlinux-moxaart
#	make user/php_only

CONFIGURE_TARGET := $(strip $(subst -, ,$(CROSS)))
CONFIGURE_TARGET := $(word 1,$(CONFIGURE_TARGET))-$(word 2,$(CONFIGURE_TARGET))

GCC_INC_PATH := /usr/local/arm-linux-4.4.2/include
ifeq ("$(CROSS)","xscale-linux-")
GCC_LIBC_PATH := /usr/local/arm-linux-4.4.2/lib/be
else
GCC_LIBC_PATH := /usr/local/arm-linux-4.4.2/lib
endif

all: $(INSTALL_ROOT)/usr/local/lib/libphp5.so

$(INSTALL_ROOT)/usr/local/lib/libphp5.so: build_$(CONFIGURE_TARGET)/.libs/libphp5.so 
	cp build_$(CONFIGURE_TARGET)/.libs/libphp5.so $(INSTALL_ROOT)/usr/local/lib/
	cp build_$(CONFIGURE_TARGET)/modules/gettext.so $(INSTALL_ROOT)/usr/local/lib/
	cp build_$(CONFIGURE_TARGET)/modules/sqlite.so $(INSTALL_ROOT)/usr/local/lib/

build_$(CONFIGURE_TARGET)/.libs/libphp5.so: build_$(CONFIGURE_TARGET)/Makefile
	rm -rf /usr/local/arm-linux-4.4.2/lib/be/libxml2.la
	rm -rf /usr/local/arm-linux-4.4.2/lib/be/libiconv.la
	unset CFLAGS CPPFLAGS LDFLAGS CXXFLAGS && \
	$(MAKE) -C build_$(CONFIGURE_TARGET)
	#$(MAKE) -C build_$(CONFIGURE_TARGET) -f Makefile -j 2 libphp5.la;

build_$(CONFIGURE_TARGET)/Makefile: makefile
	rm -rf build_$(CONFIGURE_TARGET)
	tar xjvf php-5.0.5.tar.bz2
	mv php-5.0.5 build_$(CONFIGURE_TARGET)
	apt-get install -y bison flex libxml2 libxml2-dev btyacc libjpeg62 libjpeg-dev
	( cd build_$(CONFIGURE_TARGET); \
	unset LIBS CFLAGS CPPFLAGS LDFLAGS CXXFLAGS && \
	ac_cv_c_bigendian_php="yes" \
	ac_cv_func_dlopen="no" \
	CC="$(CONFIGURE_TARGET)-gcc" \
	CXX="$(CONFIGURE_TARGET)-g++" \
	AR="$(CONFIGURE_TARGET)-ar" \
	AS="$(CONFIGURE_TARGET)-as" \
	LD="$(CONFIGURE_TARGET)-ld" \
	CPP="$(CONFIGURE_TARGET)-cpp" \
	NM="$(CONFIGURE_TARGET)-nm" \
	RANLIB="$(CONFIGURE_TARGET)-ranlib" \
	STRIP="$(CONFIGURE_TARGET)-strip" \
	OBJCOPY="$(CONFIGURE_TARGET)-objcopy" \
	LDFLAGS="-L$(GCC_LIBC_PATH) -ldl" \
	CFLAGS="-I$(GCC_INC_PATH)" \
	ARCH="arm" \
	./configure \
	--build=i686-linux \
	--host="$(CONFIGURE_TARGET)" \
	--includedir="$(GCC_INC_PATH)" \
	--with-libdir="$(GCC_LIBC_PATH)" \
	--disable-ipv6 \
	--without-gd \
	--with-config-file-path="/etc/apache/php" \
	--with-pic \
	--enable-shared \
	--with-apxs2="$(INSTALL_ROOT)/bin/apxs" \
	--with-jpeg-dir="$(INSTALL_ROOT)"\
	--with-zlib="$(INSTALL_ROOT)" \
	--with-mysql="$(INSTALL_ROOT)" \
	--with-zlib-dir="$(INSTALL_ROOT)" \
	--with-openssl-dir="$(INSTALL_ROOT)" \
	--enable-sysvmsg \
	--enable-sysvsem \
	--enable-sysvshm \
	--enable-dba \
	--with-gnu-ld="$(CONFIGURE_TARGET)-ld" \
	--enable-xmlreader \
	--with-libxml-dir="$(INSTALL_ROOT)" \
	--enable-dom \
	--enable-pdo=shared \
	--with-pdo-sqlite=shared \
	--with-sqlite=shared \
	--enable-sockets \
	--enable-shmop \
	--enable-pear \
	--enable-mbstring \
	--with-gettext=shared \
	)

	#--enable-debug \
#	--disable-libxml \
#	--with-libxml-dir="$(ROOTDIR)/lib/libxml2/install_$(CONFIGURE_TARGET)" \
#	--without-iconv \


romfs: #$(INSTALL_ROOT)/usr/local/lib/libphp5.so
#	10-01-2008. Comment out by Jared. libphp5 will not be a default built-in software. It will be provided as a package.
#	$(STRIP) -s .libs/libphp5.so
#	$(ROMFSINST) .libs/libphp5.so /lib/libphp5.so

package: $(INSTALL_ROOT)/usr/local/lib/libphp5.so
	mkdir -p ipkg_src_root_$(CONFIGURE_TARGET)/usr/local/lib
	cp -a $(INSTALL_ROOT)/usr/local/lib/libphp5.so ipkg_src_root_$(CONFIGURE_TARGET)/usr/local/lib/
	cp -a $(INSTALL_ROOT)/usr/local/lib/gettext.so ipkg_src_root_$(CONFIGURE_TARGET)/usr/local/lib/
	cp -a $(INSTALL_ROOT)/usr/local/lib/sqlite.so ipkg_src_root_$(CONFIGURE_TARGET)/usr/local/lib/
	$(STRIP) -s ipkg_src_root_$(CONFIGURE_TARGET)/usr/local/lib/*.so
	mkdir -p ipkg_src_root_$(CONFIGURE_TARGET)/etc/apache/php
	cp php.ini ipkg_src_root_$(CONFIGURE_TARGET)/etc/apache/php/
	mkdir -p $(IPKGDIR)/ipkg_$(CONFIGURE_TARGET)
	$(IPKGBUILD) ipkg_src_root_$(CONFIGURE_TARGET) $(IPKGDIR)/ipkg_$(CONFIGURE_TARGET)

clean distclean:
	-rm -rf build_$(CONFIGURE_TARGET)
	-rm -rf ipkg_src_root_$(CONFIGURE_TARGET)/usr
	-rm -rf ipkg_src_root_$(CONFIGURE_TARGET)/etc/apache
