]> jfr.im git - irc/quakenet/newserv.git/blob - build.mk.in
Whoops.
[irc/quakenet/newserv.git] / build.mk.in
1 @ifndef@ INCPATH
2 INCPATH=../
3 @endif@
4
5 CFLAGS=
6 CC=gcc
7 LEX=flex
8 MFLAGS=
9
10 @sinclude@ @includel@$(INCPATH)defaults.mk@includel@
11 @sinclude@ @includel@$(INCPATH)settings.mk@includel@
12
13 @ifeq@${HOOKS_NEW}@ifeqsep@1@ifeqend@
14 HOOK_ENGINE=new
15 @else@
16 HOOK_ENGINE=old
17 @endif@
18
19 # if USE_VALGRIND == 1
20 @ifeq@${USE_VALGRIND}@ifeqsep@1@ifeqend@
21 CFLAGS+=-DUSE_VALGRIND
22 SSTRING_ENGINE=valgrind
23
24 ## if SSTRING_NEW == 1
25 @ifeq@${SSTRING_NEW}@ifeqsep@1@ifeqend@
26 IMPOSSIBLE="USE_VALGRIND and SSTRING_NEW"
27 @endif@ # SSTRING_NEW == 1
28
29 ## if SSTRING_MMAP == 1
30 @ifeq@${SSTRING_MMAP}@ifeqsep@1@ifeqend@
31 IMPOSSIBLE="USE_VALGRIND and SSTRING_MMAP"
32 @endif@ ## SSTRING_MMAP == 1
33 @else@ # USE_VALGRIND == 1
34
35 ## if SSTRING_NEW == 1
36 @ifeq@${SSTRING_NEW}@ifeqsep@1@ifeqend@
37 SSTRING_ENGINE=new
38 @else@ ## SSTRING_NEW == 1
39 SSTRING_ENGINE=old
40
41 ### if SSTRING_MMAP == 1
42 @ifeq@${SSTRING_MMAP}@ifeqsep@1@ifeqend@
43 IMPOSSIBLE="SSTRING_MMAP without SSTRING_NEW"
44 @endif@ ### SSTRING_MMAP == 1
45 @endif@ ## SSTRING_NEW == 1
46 @endif@ # USE_VALGRIND == 1
47
48 @ifeq@${SSTRING_NEW}@ifeqsep@1@ifeqend@
49 HOOK_ENGINE=old
50 @else@
51 HOOK_ENGINE=new
52 @endif@
53
54 @ifdef@ IMPOSSIBLE
55 @error@ impossible combination of settings: ${IMPOSSIBLE}@errorend@
56 @endif@
57
58 @ifndef@ BUILDID
59 BUILDID @shell@ (hg id || echo "unknown") | sed -e "s/+ /-/;s/ /-/" @shellend@
60 @endif@
61 MFLAGS+=BUILDID=$(BUILDID)
62
63 .SUFFIXES: .so .y .l
64
65 .o.so:
66 @-ldline-@ $(LDFLAGS)
67
68 .y.c: ;
69
70 .l.c: ;
71
72 .PHONY: checksettings default
73
74 @ifndef@ CHECKEDSETTINGS
75 default: checksettings all
76
77 checksettings:
78 @touch ${INCPATH}/settings.mk
79 @test -f ${INCPATH}/.settings.mk || cp ${INCPATH}/settings.mk ${INCPATH}/.settings.mk
80 @diff ${INCPATH}/.settings.mk ${INCPATH}/settings.mk >/dev/null || $(MAKE) -e FORCECHECK=1 realchecksettings
81
82 realchecksettings:
83
84 @ifdef@ FORCECHECK
85 @error@ you must run make clean if you change settings.mk@errorend@
86 @endif@
87 @endif@
88 MFLAGS+=CHECKEDSETTINGS=1
89
90 CFLAGS+=-Wall -g -finline-functions -funroll-loops
91 @ifndef@ NOC99
92 CFLAGS+=-std=c99
93 @endif@
94 CFLAGS+=-I./ -DBUILDID=$(BUILDID) -fPIC -export-dynamic