#!/bin/sh VERSION=0.01 # ------------------------------------------------------------------------------ # gcc compiler option # -ansi <-- ANSI �€‹’ # -std=c99 <-- C99 �€‹’ # -std=gnu99 <-- C99 + GNU Šg’£ # ------------------------------------------------------------------------------ PREFIX=. TARGET_OS=OS_WINDOWS # ------------------------------------------------------------------------------ # print CFLAGS # ------------------------------------------------------------------------------ function printCFLAGS() { echo "-I${PREFIX}/include -I${PREFIX}/include/sc -DTARGET_OS=${TARGET_OS}" } # ------------------------------------------------------------------------------ # print CXXFLAGS # ------------------------------------------------------------------------------ function printCXXFLAGS() { echo "-I${PREFIX}/include -I${PREFIX}/include/sc -DTARGET_OS=${TARGET_OS}" } # ------------------------------------------------------------------------------ # print LDFLAGS # ------------------------------------------------------------------------------ function printLDFLAGS() { echo "-L${PREFIX}/lib" } # ------------------------------------------------------------------------------ # print LIBS # ------------------------------------------------------------------------------ function printLIBS() { if [ "${TARGET_OS}" == "OS_WINDOWS" ]; then echo "-lws2_32" else echo "-lpthread -ldl" fi } # ------------------------------------------------------------------------------ # print PREFIX # ------------------------------------------------------------------------------ function printPREFIX() { echo "${PREFIX}" } # ------------------------------------------------------------------------------ # print Version # ------------------------------------------------------------------------------ function printVersion() { echo "${VERSION}" } # ------------------------------------------------------------------------------ # print Usage # ------------------------------------------------------------------------------ function printUsage() { cat <<EOF Usage: $0 [OPTIONS]... --cflags C compile option --cxxflags C++ compile option --ldflags link option (ex. -L/usr/local/lib) --libs link option (ex. -lpthread) --prefix[=DIR] set prefix (or print prefix9 --target[=osname] set target windows or linux -v,--version print version -h,--help print this help EOF } # ------------------------------------------------------------------------------ # option analysis # ------------------------------------------------------------------------------ PREFIX=. IS_PRINT_CFLAGS=0 IS_PRINT_CXXFLAGS=0 IS_PRINT_LDFLAGS=0 IS_PRINT_LIBS=0 IS_PRINT_PREFIX=0 IS_PRINT_VERSION=0 IS_PRINT_HELP=0 if test $# -eq 0; then printUsage exit 1 fi while test $# -gt 0; do case "$1" in --cflags) IS_PRINT_CFLAGS=1 ;; --cxxflags) IS_PRINT_CXXFLAGS=1 ;; --ldflags) IS_PRINT_LDFLAGS=1 ;; --libs) IS_PRINT_LIBS=1 ;; --prefix) IS_PRINT_PREFIX=1 ;; --prefix=*) PREFIX=`echo "$1" | LC_ALL="C" sed "s/[-_a-zA-Z0-9]*=//"` ;; --target=*) TARGET_OS=`echo "$1" | LC_ALL="C" sed "s/[-_a-zA-Z0-9]*=//"` ;; -v) IS_PRINT_VERSION=1 ;; --version) IS_PRINT_VERSION=1 ;; -h) IS_PRINT_HELP=1 ;; --help) IS_PRINT_HELP=1 ;; *) IS_PRINT_HELP=1 ;; esac shift done # ------------------------------------------------------------------------------ # print Version # ------------------------------------------------------------------------------ if [ ${IS_PRINT_VERSION} -eq 1 ]; then printVersion exit 0 fi # ------------------------------------------------------------------------------ # print Help # ------------------------------------------------------------------------------ if [ ${IS_PRINT_HELP} -eq 1 ]; then printUsage exit 0 fi # ------------------------------------------------------------------------------ # print CFLAGS # ------------------------------------------------------------------------------ if [ ${IS_PRINT_CFLAGS} -eq 1 ]; then printCFLAGS fi # ------------------------------------------------------------------------------ # print CXXFLAGS # ------------------------------------------------------------------------------ if [ ${IS_PRINT_CXXFLAGS} -eq 1 ]; then printCXXFLAGS fi # ------------------------------------------------------------------------------ # print LDFLAGS # ------------------------------------------------------------------------------ if [ ${IS_PRINT_LDFLAGS} -eq 1 ]; then printLDFLAGS fi # ------------------------------------------------------------------------------ # print LIBS # ------------------------------------------------------------------------------ if [ ${IS_PRINT_LIBS} -eq 1 ]; then printLIBS fi # ------------------------------------------------------------------------------ # print PREFIX # ------------------------------------------------------------------------------ if [ ${IS_PRINT_PREFIX} -eq 1 ]; then printPREFIX fi