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 correct.o fold.o intrin.o
27 OBJ_P = $(COMMON) pak.o
28 OBJ_T = $(COMMON) test.o
29 OBJ_X = $(COMMON) exec.o
33 --date-format "%d %B, %Y" \
34 --seconds-per-day 0.01 \
35 --auto-skip-seconds 1 \
38 --camera-mode overview \
39 --highlight-all-users \
41 --hide progress,mouse \
43 --max-files 99999999999 \
44 --max-file-lag 0.000001 \
45 --bloom-multiplier 1.3 \
46 --logo doc/html/gmqcc.png \
49 #ffmpeg flags for gource
108 -shiftimplementation \
114 #always the right rule
119 rm -f $(DESTDIR)$(BINDIR)/gmqcc
120 rm -f $(DESTDIR)$(BINDIR)/qcvm
121 rm -f $(DESTDIR)$(BINDIR)/gmqpak
122 rm -f $(DESTDIR)$(MANDIR)/man1/doc/gmqcc.1
123 rm -f $(DESTDIR)$(MANDIR)/man1/doc/qcvm.1
124 rm -f $(DESTDIR)$(MANDIR)/man1/doc/gmqpak.1
127 STYLE_MATCH = \( -name '*.[ch]' -or -name '*.def' -or -name '*.qc' \)
129 # splint cannot parse the MSVC source
130 SPLINT_MATCH = \( -name '*.[ch]' -and ! -name 'msvc.c' -and ! -path './doc/*' \)
133 find . -type f $(STYLE_MATCH) -exec sed -i 's/ *$$//' '{}' ';'
134 find . -type f $(STYLE_MATCH) -exec sed -i -e '$$a\' '{}' ';'
135 find . -type f $(STYLE_MATCH) -exec sed -i 's/\t/ /g' '{}' ';'
138 @splint $(SPLINTFLAGS) `find . -type f $(SPLINT_MATCH)`
141 @gource $(GOURCEFLAGS)
144 @gource $(GOURCEFLAGS) -o - | ffmpeg $(FFMPEGFLAGS) gource.mp4