# default directories and paths
DESTDIR :=
-OPTIONAL:=
PREFIX := /usr/local
BINDIR := $(PREFIX)/bin
DATADIR := $(PREFIX)/share
LDFLAGS +=
LIBS += -lm
+#common objects
+COMMON = ansi.o util.o hash.o stat.o fs.o opts.o conout.o
+
+#optional flags
+OPTIONAL_CFLAGS :=
+OPTIONAL_LDFLAGS :=
+
#objects
-OBJ_C = main.o ansi.o util.o stat.o fs.o lexer.o parser.o code.o ast.o ir.o conout.o ftepp.o opts.o utf8.o correct.o fold.o intrin.o
-OBJ_P = pak.o ansi.o util.o stat.o fs.o conout.o opts.o pak.o
-OBJ_T = test.o ansi.o util.o stat.o fs.o opts.o conout.o
-OBJ_X = exec-standalone.o ansi.o util.o stat.o fs.o opts.o conout.o
+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
+OBJ_P = $(COMMON) pak.o
+OBJ_T = $(COMMON) test.o
+OBJ_X = $(COMMON) exec.o
#gource flags
GOURCEFLAGS = \
#splint flags
SPLINTFLAGS = \
+ -preproc \
-redef \
-noeffect \
-nullderef \
rm -f $(DESTDIR)$(MANDIR)/man1/doc/qcvm.1
rm -f $(DESTDIR)$(MANDIR)/man1/doc/gmqpak.1
+#style rule
STYLE_MATCH = \( -name '*.[ch]' -or -name '*.def' -or -name '*.qc' \)
-whitespace:
+style:
find . -type f $(STYLE_MATCH) -exec sed -i 's/ *$$//' '{}' ';'
-newline:
find . -type f $(STYLE_MATCH) -exec sed -i -e '$$a\' '{}' ';'
-indent:
find . -type f $(STYLE_MATCH) -exec sed -i 's/\t/ /g' '{}' ';'
-style: whitespace newline indent
+splint:
+ @splint $(SPLINTFLAGS) *.c *.h
+
+gource:
+ @gource $(GOURCEFLAGS)
+
+gource-record:
+ @gource $(GOURCEFLAGS) -o - | ffmpeg $(FFMPEGFLAGS) gource.mp4