]> jfr.im git - irc/quakenet/newserv.git/blame - build.mk.in
rework build system, part 1:
[irc/quakenet/newserv.git] / build.mk.in
CommitLineData
c3312d9a 1ifndef INCPATH
866f59c9 2INCPATH=../
c3312d9a 3endif
8b485e91 4
4bad6412 5CFLAGS=
91bf3d57 6LEX=flex
1a935a31 7MFLAGS=
4bad6412 8
c3312d9a 9ifeq (${HOOKS_NEW},1)
c5f04094 10HOOK_ENGINE=new
c3312d9a 11else
780b6d42 12HOOK_ENGINE=old
c3312d9a 13endif
c5f04094
CP
14
15# if USE_VALGRIND == 1
c3312d9a 16ifeq (${USE_VALGRIND},1)
c5f04094
CP
17 CFLAGS+=-DUSE_VALGRIND
18 SSTRING_ENGINE=valgrind
19
73ae62df 20## if SSTRING_NEW == 1
c3312d9a 21ifeq (${SSTRING_NEW},1)
c5f04094 22 IMPOSSIBLE="USE_VALGRIND and SSTRING_NEW"
c3312d9a 23endif # SSTRING_NEW == 1
c5f04094 24
73ae62df 25## if SSTRING_MMAP == 1
c3312d9a 26ifeq (${SSTRING_MMAP},1)
c5f04094 27 IMPOSSIBLE="USE_VALGRIND and SSTRING_MMAP"
c3312d9a
CP
28endif ## SSTRING_MMAP == 1
29else # USE_VALGRIND == 1
c5f04094 30
73ae62df 31## if SSTRING_NEW == 1
c3312d9a 32ifeq (${SSTRING_NEW},1)
c5f04094 33 SSTRING_ENGINE=new
c3312d9a 34else ## SSTRING_NEW == 1
c5f04094
CP
35 SSTRING_ENGINE=old
36
73ae62df 37### if SSTRING_MMAP == 1
c3312d9a 38ifeq (${SSTRING_MMAP},1)
c5f04094 39 IMPOSSIBLE="SSTRING_MMAP without SSTRING_NEW"
c3312d9a
CP
40endif ### SSTRING_MMAP == 1
41endif ## SSTRING_NEW == 1
42endif # USE_VALGRIND == 1
c5f04094 43
c3312d9a
CP
44ifdef IMPOSSIBLE
45$(error impossible combination of settings: ${IMPOSSIBLE})
46endif
c5f04094 47
c3312d9a
CP
48ifndef BUILDID
49BUILDID = $(shell (hg id || echo "unknown") | sed -e "s/[()]//g;s/+ /+/g;s/ /-/g" )
50endif
1a935a31 51MFLAGS+=BUILDID=$(BUILDID)
8b485e91 52
ffc11f03 53.SUFFIXES: .so .y .l
4bad6412
CP
54
55.o.so:
c3312d9a 56 $(CC) -nostartfiles -shared -o $@ $^ $(LDFLAGS)
4bad6412 57
ffc11f03
CP
58.y.c: ;
59
60.l.c: ;
61
c3312d9a 62default: all
78668b7c 63
0555113a 64CFLAGS+=-I./ -DBUILDID=$(BUILDID) -fPIC
1cf93e54 65CFLAGS+=-Wall -g -finline-functions -funroll-loops -Werror=format-security
0555113a 66
c3312d9a
CP
67ifndef CLANG
68ifndef NOC99
1613a824 69CFLAGS+=-std=c99
c3312d9a 70endif
0555113a 71CFLAGS+=-export-dynamic
c3312d9a 72endif