- rm -f *.o gmqcc qcvm test *.dat
-
-
-$(OBJ) $(OBJ_C) $(OBJ_X): gmqcc.h
-main.o: lexer.h
-parser.o: ast.h lexer.h
-ast.o: ast.h ir.h
-ir.o: ir.h
-
-install: install-gmqcc install-qcvm
-install-gmqcc: gmqcc
- install -d -m755 $(DESTDIR)$(BINDIR)
- install -m755 gmqcc $(DESTDIR)$(BINDIR)/gmqcc
-install-qcvm: qcvm
- install -d -m755 $(DESTDIR)$(BINDIR)
- install -m755 qcvm $(DESTDIR)$(BINDIR)/qcvm
+ rm -f *.o $(GMQCC) $(QCVM) $(TESTSUITE) $(PAK) *.dat gource.mp4 *.exe
+
+splint:
+ @ splint $(SPLINTFLAGS) *.c *.h
+
+gource:
+ @ gource $(GOURCEFLAGS)
+
+gource-record:
+ @ gource $(GOURCEFLAGS) -o - | ffmpeg $(FFMPEGFLAGS) gource.mp4
+
+depend:
+ @makedepend -Y -w 65536 2> /dev/null \
+ $(subst .o,.c,$(DEPS))
+
+#install rules
+install: install-gmqcc install-qcvm install-gmqpak install-doc
+install-gmqcc: $(GMQCC)
+ install -d -m755 $(DESTDIR)$(BINDIR)
+ install -m755 $(GMQCC) $(DESTDIR)$(BINDIR)/$(GMQCC)
+install-qcvm: $(QCVM)
+ install -d -m755 $(DESTDIR)$(BINDIR)
+ install -m755 $(QCVM) $(DESTDIR)$(BINDIR)/$(QCVM)
+install-gmqpak: $(PAK)
+ install -d -m755 $(DESTDIR)$(BINDIR)
+ install -m755 $(PAK) $(DESTDIR)$(BINDIR)/$(PAK)
+install-doc:
+ install -d -m755 $(DESTDIR)$(MANDIR)/man1
+ install -m644 doc/gmqcc.1 $(DESTDIR)$(MANDIR)/man1/
+ install -m644 doc/qcvm.1 $(DESTDIR)$(MANDIR)/man1/
+ install -m644 doc/gmqpak.1 $(DESTDIR)$(MANDIR)/man1/
+
+uninstall:
+ rm -f $(DESTDIR)$(BINDIR)/gmqcc
+ rm -f $(DESTDIR)$(BINDIR)/qcvm
+ rm -f $(DESTDIR)$(BINDIR)/gmqpak
+ rm -f $(DESTDIR)$(MANDIR)/man1/doc/gmqcc.1
+ rm -f $(DESTDIR)$(MANDIR)/man1/doc/qcvm.1
+ rm -f $(DESTDIR)$(MANDIR)/man1/doc/gmqpak.1
+
+# DO NOT DELETE
+
+util.o: gmqcc.h opts.def
+code.o: gmqcc.h opts.def
+ast.o: gmqcc.h opts.def ast.h ir.h
+ir.o: gmqcc.h opts.def ir.h
+conout.o: gmqcc.h opts.def
+ftepp.o: gmqcc.h opts.def lexer.h
+opts.o: gmqcc.h opts.def
+fs.o: gmqcc.h opts.def
+utf8.o: gmqcc.h opts.def
+correct.o: gmqcc.h opts.def
+pak.o: gmqcc.h opts.def
+test.o: gmqcc.h opts.def
+main.o: gmqcc.h opts.def lexer.h
+lexer.o: gmqcc.h opts.def lexer.h
+parser.o: gmqcc.h opts.def lexer.h ast.h ir.h intrin.h