#general build flags CC=g++ CFLAGS=-D LINUX -D ZEND_DEBUG=0 -m32 -shared #PHP includes and extension directory. Change if you do not have php-config PHP_INCLUDES=`php-config --includes` PHP_EXT_DIR=`php-config --extension-dir` #for build aw_wrap.o AW_WRAP_FLAGS=-m32 -fpic -c -Wno-write-strings #local building, change this if you want a different search path for the SDK RPATH=. #swig stuff SWIG=swig SWIGFLAGS=-php -c++ default: aw_wrap.o -law_sdk.42 $(CC) $(CFLAGS) -o aw.so aw_wrap.o -law_sdk.42 -lstdc++ local: aw_wrap.o ./libaw_sdk.42.so $(CC) $(CFLAGS) -o aw.so aw_wrap.o -Wl,-rpath,$(RPATH) ./libaw_sdk.42.so -lstdc++ aw_wrap.o: aw_wrap.cpp $(CC) $(PHP_INCLUDES) $(AW_WRAP_FLAGS) aw_wrap.cpp aw_wrap.cpp: aw*.i @echo "swig: Generating PHP5 wrapper code." $(SWIG) $(SWIGFLAGS) aw.i install: default cp ./aw.so $(PHP_EXT_DIR) @echo php_aw successfully installed to $(PHP_EXT_DIR) @echo You will need to copy aw.php somewhere you can find it. It is required to run run PHP scripts that rely on php_aw. clean: @rm aw.so aw_wrap.cpp aw_wrap.o php_aw.h aw.php @echo All targets cleaned.