]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - Makefile
Merge branch 'master' into test-suite
[xonotic/gmqcc.git] / Makefile
index dca380612a3d92c036442d6775dcd66746e3498a..89168d76aa7fa5c8142e3924794d421bb11a46fd 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,7 @@
+DESTDIR :=
+PREFIX := /usr/local
+BINDIR := $(PREFIX)/bin
+
 CC     ?= clang
 CFLAGS += -Wall -I. -fomit-frame-pointer -fno-stack-protector -fno-common
 #turn on tons of warnings if clang is present
@@ -19,7 +23,7 @@ ifeq ($(track), no)
     CFLAGS += -DNOTRACK
 endif
 
-OBJ     = \
+OBJ     =             \
           util.o      \
           code.o      \
           ast.o       \
@@ -30,7 +34,7 @@ OBJ_T = test.o util.o con.o
 OBJ_C = main.o lexer.o parser.o
 OBJ_X = exec-standalone.o util.o con.o
 
-#default is compiler only
+
 default: gmqcc
 %.o: %.c
        $(CC) -c $< -o $@ $(CFLAGS)
@@ -50,10 +54,22 @@ test: $(OBJ_T)
 runtests:
        ./test
 
-#all target is test and all
 all: gmqcc qcvm test
 
 clean:
        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