1srcdir = /home/eklinger/pHash/trunk/bindings/php
2builddir = /home/eklinger/pHash/trunk/bindings/php
3top_srcdir = /home/eklinger/pHash/trunk/bindings/php
4top_builddir = /home/eklinger/pHash/trunk/bindings/php
5EGREP = /usr/bin/grep -E
6SED = /usr/bin/sed
7CONFIGURE_COMMAND = './configure'
8CONFIGURE_OPTIONS =
9SHLIB_SUFFIX_NAME = so
10SHLIB_DL_SUFFIX_NAME = so
11ZEND_EXT_TYPE = zend_extension
12RE2C = exit 0;
13AWK = gawk
14PHASH_SHARED_LIBADD = -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lpHash -lstdc++
15PHASH_SHARED_LIBADD = -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lpHash -lstdc++
16shared_objects_pHash = pHash.lo
17PHP_PECL_EXTENSION = pHash
18PHP_MODULES = $(phplibdir)/pHash.la
19PHP_ZEND_EX =
20all_targets = $(PHP_MODULES) $(PHP_ZEND_EX)
21install_targets = install-modules install-headers
22prefix = /usr
23exec_prefix = $(prefix)
24libdir = ${exec_prefix}/lib
25prefix = /usr
26phplibdir = /home/eklinger/pHash/trunk/bindings/php/modules
27phpincludedir = /usr/include/php
28CC = cc
29CFLAGS = -g -O2
30CFLAGS_CLEAN = $(CFLAGS)
31CPP = cc -E
32CPPFLAGS = -DHAVE_CONFIG_H
33CXX = g++
34CXXFLAGS = -g -O2
35CXXFLAGS_CLEAN = $(CXXFLAGS)
36EXTENSION_DIR = /usr/lib64/php/modules
37PHP_EXECUTABLE = /usr/bin/php
38EXTRA_LDFLAGS =
39EXTRA_LIBS =
40INCLUDES = -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/local/include
41LFLAGS =
42LDFLAGS =
43SHARED_LIBTOOL =
44LIBTOOL = $(SHELL) $(top_builddir)/libtool
45SHELL = /bin/sh
46INSTALL_HEADERS =
47mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
48INSTALL = $(top_srcdir)/build/shtool install -c
49INSTALL_DATA = $(INSTALL) -m 644
50
51DEFS = -DPHP_ATOM_INC -I$(top_builddir)/include -I$(top_builddir)/main -I$(top_srcdir)
52COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORKPATH)
53
54all: $(all_targets)
55	@echo
56	@echo "Build complete."
57	@echo "Don't forget to run 'make test'."
58	@echo
59
60build-modules: $(PHP_MODULES) $(PHP_ZEND_EX)
61
62libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
63	$(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
64	-@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1
65
66libs/libphp$(PHP_MAJOR_VERSION).bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
67	$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp$(PHP_MAJOR_VERSION).so
68
69install: $(all_targets) $(install_targets)
70
71install-sapi: $(OVERALL_TARGET)
72	@echo "Installing PHP SAPI module:       $(PHP_SAPI)"
73	-@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
74	-@if test ! -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); then \
75		for i in 0.0.0 0.0 0; do \
76			if test -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i; then \
77				$(LN_S) $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); \
78				break; \
79			fi; \
80		done; \
81	fi
82	@$(INSTALL_IT)
83
84install-modules: build-modules
85	@test -d modules && \
86	$(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR)
87	@echo "Installing shared extensions:     $(INSTALL_ROOT)$(EXTENSION_DIR)/"
88	@rm -f modules/*.la >/dev/null 2>&1
89	@$(INSTALL) modules/* $(INSTALL_ROOT)$(EXTENSION_DIR)
90
91install-headers:
92	-@if test "$(INSTALL_HEADERS)"; then \
93		for i in `echo $(INSTALL_HEADERS)`; do \
94			i=`$(top_srcdir)/build/shtool path -d $$i`; \
95			paths="$$paths $(INSTALL_ROOT)$(phpincludedir)/$$i"; \
96		done; \
97		$(mkinstalldirs) $$paths && \
98		echo "Installing header files:          $(INSTALL_ROOT)$(phpincludedir)/" && \
99		for i in `echo $(INSTALL_HEADERS)`; do \
100			if test "$(PHP_PECL_EXTENSION)"; then \
101				src=`echo $$i | $(SED) -e "s#ext/$(PHP_PECL_EXTENSION)/##g"`; \
102			else \
103				src=$$i; \
104			fi; \
105			if test -f "$(top_srcdir)/$$src"; then \
106				$(INSTALL_DATA) $(top_srcdir)/$$src $(INSTALL_ROOT)$(phpincludedir)/$$i; \
107			elif test -f "$(top_builddir)/$$src"; then \
108				$(INSTALL_DATA) $(top_builddir)/$$src $(INSTALL_ROOT)$(phpincludedir)/$$i; \
109			else \
110				(cd $(top_srcdir)/$$src && $(INSTALL_DATA) *.h $(INSTALL_ROOT)$(phpincludedir)/$$i; \
111				cd $(top_builddir)/$$src && $(INSTALL_DATA) *.h $(INSTALL_ROOT)$(phpincludedir)/$$i) 2>/dev/null || true; \
112			fi \
113		done; \
114	fi
115
116PHP_TEST_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1'
117PHP_TEST_SHARED_EXTENSIONS =  ` \
118	if test "x$(PHP_MODULES)" != "x"; then \
119		for i in $(PHP_MODULES)""; do \
120			. $$i; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
121		done; \
122	fi; \
123	if test "x$(PHP_ZEND_EX)" != "x"; then \
124		for i in $(PHP_ZEND_EX)""; do \
125			. $$i; $(top_srcdir)/build/shtool echo -n -- " -d $(ZEND_EXT_TYPE)=$(top_builddir)/modules/$$dlname"; \
126		done; \
127	fi`
128PHP_DEPRECATED_DIRECTIVES_REGEX = '^(define_syslog_variables|register_(globals|long_arrays)?|safe_mode|magic_quotes_(gpc|runtime|sybase)?|(zend_)?extension(_debug)?(_ts)?)[\t\ ]*='
129
130test: all
131	-@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
132		INI_FILE=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \
133		if test "$$INI_FILE"; then \
134			$(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
135		else \
136			echo > $(top_builddir)/tmp-php.ini; \
137		fi; \
138		INI_SCANNED_PATH=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r '$$a = explode(",\n", trim(php_ini_scanned_files())); echo $$a[0];' 2> /dev/null`; \
139		if test "$$INI_SCANNED_PATH"; then \
140			INI_SCANNED_PATH=`$(top_srcdir)/build/shtool path -d $$INI_SCANNED_PATH`; \
141			$(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_SCANNED_PATH"/*.ini >> $(top_builddir)/tmp-php.ini; \
142		fi; \
143		TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
144		TEST_PHP_SRCDIR=$(top_srcdir) \
145		CC="$(CC)" \
146			$(PHP_EXECUTABLE) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
147		rm $(top_builddir)/tmp-php.ini; \
148	else \
149		echo "ERROR: Cannot run tests without CLI sapi."; \
150	fi
151
152clean:
153	find . -name \*.gcno -o -name \*.gcda | xargs rm -f
154	find . -name \*.lo -o -name \*.o | xargs rm -f
155	find . -name \*.la -o -name \*.a | xargs rm -f
156	find . -name \*.so | xargs rm -f
157	find . -name .libs -a -type d|xargs rm -rf
158	rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
159
160distclean: clean
161	rm -f Makefile config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h sapi/apache/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp
162	$(EGREP) define'.*include/php' $(top_srcdir)/configure | $(SED) 's/.*>//'|xargs rm -f
163
164.PHONY: all clean install distclean test
165.NOEXPORT:
166pHash.lo: /home/eklinger/pHash/trunk/bindings/php/pHash.cpp
167	$(LIBTOOL) --mode=compile $(CXX)  -I. -I/home/eklinger/pHash/trunk/bindings/php $(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)  -c /home/eklinger/pHash/trunk/bindings/php/pHash.cpp -o pHash.lo
168$(phplibdir)/pHash.la: ./pHash.la
169	$(LIBTOOL) --mode=install cp ./pHash.la $(phplibdir)
170
171./pHash.la: $(shared_objects_pHash) $(PHASH_SHARED_DEPENDENCIES)
172	$(LIBTOOL) --mode=link $(CC) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o $@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $(shared_objects_pHash) $(PHASH_SHARED_LIBADD)
173
174