X-Git-Url: https://jfr.im/git/irc/quakenet/newserv.git/blobdiff_plain/3321e98ae742b632d195d80d4ac663fae65c1bfd..1151d736b86e4405ed9e0266dc5227a2ab9a5d66:/build.mk.in diff --git a/build.mk.in b/build.mk.in index 6b5917bf..dc18a8a5 100644 --- a/build.mk.in +++ b/build.mk.in @@ -3,18 +3,86 @@ INCPATH=../ @endif@ CFLAGS= +CC=gcc +LEX=flex +MFLAGS= +@sinclude@ @includel@$(INCPATH)defaults.mk@includel@ @sinclude@ @includel@$(INCPATH)settings.mk@includel@ +@ifeq@${HOOKS_NEW}@ifeqsep@1@ifeqend@ +HOOK_ENGINE=new +@else@ +HOOK_ENGINE=old +@endif@ + +# if USE_VALGRIND == 1 +@ifeq@${USE_VALGRIND}@ifeqsep@1@ifeqend@ + CFLAGS+=-DUSE_VALGRIND + SSTRING_ENGINE=valgrind + +## if SSTRING_NEW == 1 +@ifeq@${SSTRING_NEW}@ifeqsep@1@ifeqend@ + IMPOSSIBLE="USE_VALGRIND and SSTRING_NEW" +@endif@ # SSTRING_NEW == 1 + +## if SSTRING_MMAP == 1 +@ifeq@${SSTRING_MMAP}@ifeqsep@1@ifeqend@ + IMPOSSIBLE="USE_VALGRIND and SSTRING_MMAP" +@endif@ ## SSTRING_MMAP == 1 +@else@ # USE_VALGRIND == 1 + +## if SSTRING_NEW == 1 +@ifeq@${SSTRING_NEW}@ifeqsep@1@ifeqend@ + SSTRING_ENGINE=new +@else@ ## SSTRING_NEW == 1 + SSTRING_ENGINE=old + +### if SSTRING_MMAP == 1 +@ifeq@${SSTRING_MMAP}@ifeqsep@1@ifeqend@ + IMPOSSIBLE="SSTRING_MMAP without SSTRING_NEW" +@endif@ ### SSTRING_MMAP == 1 +@endif@ ## SSTRING_NEW == 1 +@endif@ # USE_VALGRIND == 1 + +@ifdef@ IMPOSSIBLE +@error@ impossible combination of settings: ${IMPOSSIBLE}@errorend@ +@endif@ + @ifndef@ BUILDID BUILDID @shell@ (hg id || echo "unknown") | sed -e "s/+ /-/;s/ /-/" @shellend@ @endif@ +MFLAGS+=BUILDID=$(BUILDID) -.SUFFIXES: .so +.SUFFIXES: .so .y .l .o.so: - ld -shared -Bdynamic $(LDFLAGS) -o $@ @srcs@ + @-ldline-@ $(LDFLAGS) -CC=gcc -CFLAGS+=-Wall -g -finline-functions -funroll-loops -std=c99 -I./ -DBUILDID=$(BUILDID) -CFLAGS+=-fPIC -export-dynamic +.y.c: ; + +.l.c: ; + +.PHONY: checksettings default + +@ifndef@ CHECKEDSETTINGS +default: checksettings all + +checksettings: + @touch ${INCPATH}/settings.mk + @test -f ${INCPATH}/.settings.mk || cp ${INCPATH}/settings.mk ${INCPATH}/.settings.mk + @diff ${INCPATH}/.settings.mk ${INCPATH}/settings.mk >/dev/null || $(MAKE) -e FORCECHECK=1 realchecksettings + +realchecksettings: + +@ifdef@ FORCECHECK +@error@ you must run make clean if you change settings.mk@errorend@ +@endif@ +@endif@ +MFLAGS+=CHECKEDSETTINGS=1 + +CFLAGS+=-Wall -g -finline-functions -funroll-loops +@ifndef@ NOC99 +CFLAGS+=-std=c99 +@endif@ +CFLAGS+=-I./ -DBUILDID=$(BUILDID) -fPIC -export-dynamic