using testing ; rule fost-project ( name : requirements * ) { project : requirements $(requirements) Cpp/include ../fost-base/Cpp/include $(BOOST_HEADERS) windows:../OpenSSL/install/include/ multi shared linux:-Wl,-E windows:on windows:on windows:off windows:on windows:database windows:WIN32 windows:_AFXDLL windows:UNICODE windows:_UNICODE : default-build debug : build-dir $(BUILD_DIRECTORY) ; } rule fost-install-loc ( loc : sources + ) { install $(loc)/dist/lib : $(sources) : linux:LIB darwin:LIB windows:XXX ; install $(loc)/dist/bin : $(sources) : EXE windows:LIB ; } rule fost-install ( sources + ) { fost-install-loc ../../.. : $(sources) ; } rule fost-smoke-test ( name : libs + : files * ) { lib $(name) : ../../../Boost//boost-date_time-dll ../../../Boost//boost-filesystem-dll ../../../Boost//boost-regex-dll ../../../Boost//boost-system-dll ../../../Boost//boost-thread-dll ../../../fost-base/Cpp/fost-core/ ../../../fost-base/Cpp/fost-test/ $(libs) $(files) : windows:../../../OpenSSL//libeay32-dll windows:../../../OpenSSL//ssleay32-dll linux:../../../fost-base/External//openssl darwin:../../../fost-base/External//openssl ; fost-install $(name) ; local unit-test-name = $(name) "-unit" ; unit-test $(unit-test-name:J) : ../../../Boost//boost-date_time-dll ../../../Boost//boost-filesystem-dll ../../../Boost//boost-regex-dll ../../../Boost//boost-system-dll ../../../Boost//boost-thread-dll ../../../fost-base/Cpp/fost-cli/ ../../../fost-base/Cpp/fost-core/ ../../../fost-base/Cpp/fost-test/ $(libs) $(name) ../../../fost-base/Cpp/fost-test/boost-build-unit-test.cpp : windows:../../../OpenSSL//libeay32-dll windows:../../../OpenSSL//ssleay32-dll linux:../../../fost-base/External//openssl darwin:../../../fost-base/External//openssl ; } rule fost-lib ( name : sources + ) { lib $(name) : ../../../Boost//boost-date_time-dll ../../../Boost//boost-filesystem-dll ../../../Boost//boost-regex-dll ../../../Boost//boost-system-dll ../../../Boost//boost-thread-dll ../../../fost-base/Cpp/fost-core//fost-core $(sources) : windows:../../../OpenSSL//libeay32-dll windows:../../../OpenSSL//ssleay32-dll linux:../../../fost-base/External//openssl darwin:../../../fost-base/External//openssl ; fost-install $(name) ; } rule fost-exe ( name : sources + ) { exe $(name) : ../../../Boost//boost-date_time-dll ../../../Boost//boost-filesystem-dll ../../../Boost//boost-regex-dll ../../../Boost//boost-system-dll ../../../Boost//boost-thread-dll ../../../fost-base/Cpp/fost-core/ ../../../fost-base/Cpp/fost-cli/ $(sources) : windows:../../../OpenSSL//libeay32-dll windows:../../../OpenSSL//ssleay32-dll linux:../../../fost-base/External//openssl darwin:../../../fost-base/External//openssl ; fost-install $(name) ; }