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