1 # default directories and paths
4 BINDIR := $(PREFIX)/bin
5 DATADIR := $(PREFIX)/share
6 MANDIR := $(DATADIR)/man
9 CFLAGS += -Wall -Wextra -Werror -Wstrict-aliasing -Wno-attributes -O2
14 # linker flags and optional additional libraries if required
19 COMMON = ansi.o util.o hash.o stat.o fs.o opts.o conout.o
26 OBJ_C = $(COMMON) main.o lexer.o parser.o code.o ast.o ir.o ftepp.o utf8.o fold.o intrin.o
27 OBJ_T = $(COMMON) test.o
28 OBJ_X = $(COMMON) exec.o
32 --date-format "%d %B, %Y" \
33 --seconds-per-day 0.01 \
34 --auto-skip-seconds 1 \
37 --camera-mode overview \
38 --highlight-all-users \
40 --hide progress,mouse \
42 --max-files 99999999999 \
43 --max-file-lag 0.000001 \
44 --bloom-multiplier 1.3 \
45 --logo doc/html/gmqcc.png \
48 #ffmpeg flags for gource
107 -shiftimplementation \
113 #always the right rule
118 rm -f $(DESTDIR)$(BINDIR)/gmqcc
119 rm -f $(DESTDIR)$(BINDIR)/qcvm
120 rm -f $(DESTDIR)$(BINDIR)/gmqpak
121 rm -f $(DESTDIR)$(MANDIR)/man1/gmqcc.1
122 rm -f $(DESTDIR)$(MANDIR)/man1/qcvm.1
123 rm -f $(DESTDIR)$(MANDIR)/man1/gmqpak.1
126 STYLE_MATCH = \( -name '*.[ch]' -or -name '*.def' -or -name '*.qc' \)
128 # splint cannot parse the MSVC source
129 SPLINT_MATCH = \( -name '*.[ch]' -and ! -name 'msvc.c' -and ! -path './doc/*' \)
132 find . -type f $(STYLE_MATCH) -exec sed -i 's/ *$$//' '{}' ';'
133 find . -type f $(STYLE_MATCH) -exec sed -i -e '$$a\' '{}' ';'
134 find . -type f $(STYLE_MATCH) -exec sed -i 's/\t/ /g' '{}' ';'
137 @splint $(SPLINTFLAGS) `find . -type f $(SPLINT_MATCH)`
140 @gource $(GOURCEFLAGS)
143 @gource $(GOURCEFLAGS) -o - | ffmpeg $(FFMPEGFLAGS) gource.mp4