Annotation of embedaddon/nginx/auto/make, revision 1.1

1.1     ! misho       1: 
        !             2: # Copyright (C) Igor Sysoev
        !             3: # Copyright (C) Nginx, Inc.
        !             4: 
        !             5: 
        !             6: echo "creating $NGX_MAKEFILE"
        !             7: 
        !             8: mkdir -p $NGX_OBJS/src/core $NGX_OBJS/src/event $NGX_OBJS/src/event/modules \
        !             9:          $NGX_OBJS/src/os/unix $NGX_OBJS/src/os/win32 \
        !            10:          $NGX_OBJS/src/http $NGX_OBJS/src/http/modules \
        !            11:         $NGX_OBJS/src/http/modules/perl \
        !            12:          $NGX_OBJS/src/mail \
        !            13:          $NGX_OBJS/src/misc
        !            14: 
        !            15: 
        !            16: ngx_objs_dir=$NGX_OBJS$ngx_regex_dirsep
        !            17: ngx_use_pch=`echo $NGX_USE_PCH | sed -e "s/\//$ngx_regex_dirsep/g"`
        !            18: 
        !            19: 
        !            20: cat << END                                                     > $NGX_MAKEFILE
        !            21: 
        !            22: CC =   $CC
        !            23: CFLAGS = $CFLAGS
        !            24: CPP =  $CPP
        !            25: LINK = $LINK
        !            26: 
        !            27: END
        !            28: 
        !            29: 
        !            30: if test -n "$NGX_PERL_CFLAGS"; then
        !            31:     echo NGX_PERL_CFLAGS = $NGX_PERL_CFLAGS                   >> $NGX_MAKEFILE
        !            32:     echo NGX_PM_CFLAGS = $NGX_PM_CFLAGS                       >> $NGX_MAKEFILE
        !            33: fi
        !            34: 
        !            35: 
        !            36: # ALL_INCS, required by the addons and by OpenWatcom C precompiled headers
        !            37: 
        !            38: ngx_incs=`echo $CORE_INCS $NGX_OBJS $HTTP_INCS $MAIL_INCS\
        !            39:     | sed -e "s/  *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \
        !            40:           -e "s/\//$ngx_regex_dirsep/g"`
        !            41: 
        !            42: cat << END                                                    >> $NGX_MAKEFILE
        !            43: 
        !            44: ALL_INCS = $ngx_include_opt$ngx_incs
        !            45: 
        !            46: END
        !            47: 
        !            48: 
        !            49: ngx_all_srcs="$CORE_SRCS"
        !            50: 
        !            51: 
        !            52: # the core dependences and include paths
        !            53: 
        !            54: ngx_deps=`echo $CORE_DEPS $NGX_AUTO_CONFIG_H $NGX_PCH \
        !            55:     | sed -e "s/  *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
        !            56:           -e "s/\//$ngx_regex_dirsep/g"`
        !            57: 
        !            58: ngx_incs=`echo $CORE_INCS $NGX_OBJS \
        !            59:     | sed -e "s/  *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \
        !            60:           -e "s/\//$ngx_regex_dirsep/g"`
        !            61: 
        !            62: cat << END                                                    >> $NGX_MAKEFILE
        !            63: 
        !            64: CORE_DEPS = $ngx_deps
        !            65: 
        !            66: 
        !            67: CORE_INCS = $ngx_include_opt$ngx_incs
        !            68: 
        !            69: END
        !            70: 
        !            71: 
        !            72: # the http dependences and include paths
        !            73: 
        !            74: if [ $HTTP = YES ]; then
        !            75: 
        !            76:     ngx_all_srcs="$ngx_all_srcs $HTTP_SRCS"
        !            77: 
        !            78:     ngx_deps=`echo $HTTP_DEPS \
        !            79:         | sed -e "s/  *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
        !            80:               -e "s/\//$ngx_regex_dirsep/g"`
        !            81: 
        !            82:     ngx_incs=`echo $HTTP_INCS \
        !            83:         | sed -e "s/  *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \
        !            84:               -e "s/\//$ngx_regex_dirsep/g"`
        !            85: 
        !            86:     cat << END                                                >> $NGX_MAKEFILE
        !            87: 
        !            88: HTTP_DEPS = $ngx_deps
        !            89: 
        !            90: 
        !            91: HTTP_INCS = $ngx_include_opt$ngx_incs
        !            92: 
        !            93: END
        !            94: 
        !            95: fi
        !            96: 
        !            97: 
        !            98: # the mail dependences and include paths
        !            99: 
        !           100: if [ $MAIL = YES ]; then
        !           101: 
        !           102:     ngx_all_srcs="$ngx_all_srcs $MAIL_SRCS"
        !           103: 
        !           104:     ngx_deps=`echo $MAIL_DEPS \
        !           105:         | sed -e "s/  *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
        !           106:               -e "s/\//$ngx_regex_dirsep/g"`
        !           107: 
        !           108:     ngx_incs=`echo $MAIL_INCS \
        !           109:         | sed -e "s/  *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \
        !           110:               -e "s/\//$ngx_regex_dirsep/g"`
        !           111: 
        !           112:     cat << END                                                >> $NGX_MAKEFILE
        !           113: 
        !           114: MAIL_DEPS = $ngx_deps
        !           115: 
        !           116: 
        !           117: MAIL_INCS = $ngx_include_opt$ngx_incs
        !           118: 
        !           119: END
        !           120: 
        !           121: fi
        !           122: 
        !           123: 
        !           124: ngx_all_srcs="$ngx_all_srcs $NGX_MISC_SRCS"
        !           125: 
        !           126: 
        !           127: if test -n "$NGX_ADDON_SRCS"; then
        !           128: 
        !           129: cat << END                                                >> $NGX_MAKEFILE
        !           130: 
        !           131: ADDON_DEPS = \$(CORE_DEPS) $NGX_ADDON_DEPS
        !           132: 
        !           133: END
        !           134: 
        !           135: fi
        !           136: 
        !           137: 
        !           138: # nginx
        !           139: 
        !           140: ngx_all_srcs=`echo $ngx_all_srcs | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           141: 
        !           142: for ngx_src in $NGX_ADDON_SRCS
        !           143: do
        !           144:     ngx_obj="addon/`basename \`dirname $ngx_src\``"
        !           145: 
        !           146:     test -d $NGX_OBJS/$ngx_obj || mkdir -p $NGX_OBJS/$ngx_obj
        !           147: 
        !           148:     ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \
        !           149:         | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           150: 
        !           151:     ngx_all_srcs="$ngx_all_srcs $ngx_obj"
        !           152: done
        !           153: 
        !           154: ngx_all_objs=`echo $ngx_all_srcs \
        !           155:     | sed -e "s#\([^ ]*\.\)cpp#$NGX_OBJS\/\1$ngx_objext#g" \
        !           156:           -e "s#\([^ ]*\.\)cc#$NGX_OBJS\/\1$ngx_objext#g" \
        !           157:           -e "s#\([^ ]*\.\)c#$NGX_OBJS\/\1$ngx_objext#g" \
        !           158:           -e "s#\([^ ]*\.\)S#$NGX_OBJS\/\1$ngx_objext#g"`
        !           159: 
        !           160: ngx_modules_c=`echo $NGX_MODULES_C | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           161: 
        !           162: ngx_modules_obj=`echo $ngx_modules_c | sed -e "s/\(.*\.\)c/\1$ngx_objext/"`
        !           163: 
        !           164: 
        !           165: if test -n "$NGX_RES"; then
        !           166:    ngx_res=$NGX_RES
        !           167: else
        !           168:    ngx_res="$NGX_RC $NGX_ICONS"
        !           169:    ngx_rcc=`echo $NGX_RCC | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           170: fi
        !           171: 
        !           172: ngx_deps=`echo $ngx_all_objs $ngx_modules_obj $ngx_res $LINK_DEPS \
        !           173:     | sed -e "s/  *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
        !           174:           -e "s/\//$ngx_regex_dirsep/g"`
        !           175: 
        !           176: ngx_objs=`echo $ngx_all_objs $ngx_modules_obj \
        !           177:     | sed -e "s/  *\([^ ][^ ]*\)/$ngx_long_regex_cont\1/g" \
        !           178:           -e "s/\//$ngx_regex_dirsep/g"`
        !           179: 
        !           180: if test -n "$NGX_LD_OPT$CORE_LIBS"; then
        !           181:     ngx_libs=`echo $NGX_LD_OPT $CORE_LIBS \
        !           182:         | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`
        !           183: fi
        !           184: 
        !           185: ngx_link=${CORE_LINK:+`echo $CORE_LINK \
        !           186:     | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`}
        !           187: 
        !           188: 
        !           189: cat << END                                                    >> $NGX_MAKEFILE
        !           190: 
        !           191: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext}:      $ngx_deps$ngx_spacer
        !           192:        \$(LINK) ${ngx_long_start}${ngx_binout}$NGX_OBJS${ngx_dirsep}nginx$ngx_long_cont$ngx_objs$ngx_libs$ngx_link
        !           193:        $ngx_rcc
        !           194: ${ngx_long_end}
        !           195: END
        !           196: 
        !           197: 
        !           198: # ngx_modules.c
        !           199: 
        !           200: if test -n "$NGX_PCH"; then
        !           201:     ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
        !           202: else
        !           203:     ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS)"
        !           204: fi
        !           205: 
        !           206: cat << END                                                    >> $NGX_MAKEFILE
        !           207: 
        !           208: $ngx_modules_obj:      \$(CORE_DEPS)$ngx_cont$ngx_modules_c
        !           209:        $ngx_cc$ngx_tab$ngx_objout$ngx_modules_obj$ngx_tab$ngx_modules_c$NGX_AUX
        !           210: 
        !           211: END
        !           212: 
        !           213: 
        !           214: # the core sources
        !           215: 
        !           216: for ngx_src in $CORE_SRCS
        !           217: do
        !           218:     ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           219:     ngx_obj=`echo $ngx_src \
        !           220:         | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           221:               -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           222:               -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           223:               -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"`
        !           224: 
        !           225:     cat << END                                                >> $NGX_MAKEFILE
        !           226: 
        !           227: $ngx_obj:      \$(CORE_DEPS)$ngx_cont$ngx_src
        !           228:        $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
        !           229: 
        !           230: END
        !           231: 
        !           232: done
        !           233: 
        !           234: 
        !           235: # the http sources
        !           236: 
        !           237: if [ $HTTP = YES ]; then
        !           238: 
        !           239:     if test -n "$NGX_PCH"; then
        !           240:         ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
        !           241:     else
        !           242:         ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(HTTP_INCS)"
        !           243:         ngx_perl_cc="\$(CC) $ngx_compile_opt \$(NGX_PERL_CFLAGS) "
        !           244:         ngx_perl_cc="$ngx_perl_cc \$(CORE_INCS) \$(HTTP_INCS)"
        !           245:     fi
        !           246: 
        !           247:     for ngx_source in $HTTP_SRCS
        !           248:     do
        !           249:         ngx_src=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           250:         ngx_obj=`echo $ngx_src \
        !           251:             | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           252:                   -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           253:                   -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           254:                   -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"`
        !           255: 
        !           256:         if [ $ngx_source = src/http/modules/perl/ngx_http_perl_module.c ]; then
        !           257: 
        !           258:             cat << END                                        >> $NGX_MAKEFILE
        !           259: 
        !           260: $ngx_obj:      \$(CORE_DEPS) \$(HTTP_DEPS)$ngx_cont$ngx_src
        !           261:        $ngx_perl_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
        !           262: 
        !           263: END
        !           264:         else
        !           265: 
        !           266:             cat << END                                        >> $NGX_MAKEFILE
        !           267: 
        !           268: $ngx_obj:      \$(CORE_DEPS) \$(HTTP_DEPS)$ngx_cont$ngx_src
        !           269:        $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
        !           270: 
        !           271: END
        !           272: 
        !           273:         fi
        !           274:      done
        !           275: 
        !           276: fi
        !           277: 
        !           278: 
        !           279: # the mail sources
        !           280: 
        !           281: if [ $MAIL = YES ]; then
        !           282: 
        !           283:     if test -n "$NGX_PCH"; then
        !           284:         ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
        !           285:     else
        !           286:         ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(MAIL_INCS)"
        !           287:     fi
        !           288: 
        !           289:     for ngx_src in $MAIL_SRCS
        !           290:     do
        !           291:         ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           292:         ngx_obj=`echo $ngx_src \
        !           293:             | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           294:                   -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           295:                   -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           296:                   -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"`
        !           297: 
        !           298:         cat << END                                            >> $NGX_MAKEFILE
        !           299: 
        !           300: $ngx_obj:      \$(CORE_DEPS) \$(MAIL_DEPS)$ngx_cont$ngx_src
        !           301:        $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
        !           302: 
        !           303: END
        !           304:      done
        !           305: 
        !           306: fi
        !           307: 
        !           308: 
        !           309: # the misc sources
        !           310: 
        !           311: if test -n "$NGX_MISC_SRCS"; then
        !           312: 
        !           313:     ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
        !           314: 
        !           315:     for ngx_src in $NGX_MISC_SRCS
        !           316:     do
        !           317:         ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           318:         ngx_obj=`echo $ngx_src \
        !           319:             | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           320:                   -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           321:                   -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           322:                   -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"`
        !           323: 
        !           324:         cat << END                                            >> $NGX_MAKEFILE
        !           325: 
        !           326: $ngx_obj:      \$(CORE_DEPS) $ngx_cont$ngx_src
        !           327:        $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
        !           328: 
        !           329: END
        !           330:      done
        !           331: 
        !           332: fi
        !           333: 
        !           334: 
        !           335: # the addons sources
        !           336: 
        !           337: if test -n "$NGX_ADDON_SRCS"; then
        !           338: 
        !           339:     ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
        !           340: 
        !           341:     for ngx_src in $NGX_ADDON_SRCS
        !           342:     do
        !           343:         ngx_obj="addon/`basename \`dirname $ngx_src\``"
        !           344: 
        !           345:         ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \
        !           346:             | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           347: 
        !           348:         ngx_obj=`echo $ngx_obj \
        !           349:             | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           350:                   -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           351:                   -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \
        !           352:                   -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"`
        !           353: 
        !           354:         ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           355: 
        !           356:         cat << END                                            >> $NGX_MAKEFILE
        !           357: 
        !           358: $ngx_obj:      \$(ADDON_DEPS)$ngx_cont$ngx_src
        !           359:        $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
        !           360: 
        !           361: END
        !           362:      done
        !           363: 
        !           364: fi
        !           365: 
        !           366: 
        !           367: # the addons config.make
        !           368: 
        !           369: if test -n "$NGX_ADDONS"; then
        !           370: 
        !           371:     for ngx_addon_dir in $NGX_ADDONS
        !           372:     do
        !           373:         if test -f $ngx_addon_dir/config.make; then
        !           374:             . $ngx_addon_dir/config.make
        !           375:         fi
        !           376:     done
        !           377: fi
        !           378: 
        !           379: 
        !           380: # Win32 resource file
        !           381: 
        !           382: if test -n "$NGX_RES"; then
        !           383: 
        !           384:     ngx_res=`echo "$NGX_RES:   $NGX_RC $NGX_ICONS" \
        !           385:                  | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           386:     ngx_rcc=`echo $NGX_RCC | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           387: 
        !           388:     cat << END                                                >> $NGX_MAKEFILE
        !           389: 
        !           390: $ngx_res
        !           391:        $ngx_rcc
        !           392: 
        !           393: END
        !           394: 
        !           395: fi
        !           396: 
        !           397: 
        !           398: # the precompiled headers
        !           399: 
        !           400: if test -n "$NGX_PCH"; then
        !           401:     echo "#include <ngx_config.h>" > $NGX_OBJS/ngx_pch.c
        !           402: 
        !           403:     ngx_pch="src/core/ngx_config.h $OS_CONFIG $NGX_OBJS/ngx_auto_config.h"
        !           404:     ngx_pch=`echo "$NGX_PCH:   $ngx_pch" | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           405: 
        !           406:     ngx_src="\$(CC) \$(CFLAGS) $NGX_BUILD_PCH $ngx_compile_opt \$(ALL_INCS)"
        !           407:     ngx_src="$ngx_src $ngx_objout$NGX_OBJS/ngx_pch.obj $NGX_OBJS/ngx_pch.c"
        !           408:     ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
        !           409: 
        !           410:     cat << END                                                >> $NGX_MAKEFILE
        !           411: 
        !           412: $ngx_pch
        !           413:        $ngx_src
        !           414: 
        !           415: END
        !           416: 
        !           417: fi

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>