]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/tools/qcc.sh
Move scripts to qcsrc/tools
[xonotic/xonotic-data.pk3dir.git] / qcsrc / tools / qcc.sh
diff --git a/qcsrc/tools/qcc.sh b/qcsrc/tools/qcc.sh
new file mode 100755 (executable)
index 0000000..b3ad199
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/sh
+set -eu
+
+MODE=$1
+IN=$3
+OUT=$2
+
+QCC=${QCC}
+QCCIDENT="-DGMQCC"
+
+case ${MODE} in
+    client) PROG=CSQC
+    ;;
+    menu) PROG=MENUQC
+    ;;
+    server) PROG=SVQC
+    ;;
+esac
+
+CPP="${CPP} -I. ${QCCIDENT} ${QCCDEFS} -D${PROG}"
+${CPP} -MMD -MP -MT ${OUT} -Wall -Wundef -Werror -o ../.tmp/${MODE}.txt ${IN}
+${CPP} -dM 1>../.tmp/${MODE}_macros.txt -H 2>../.tmp/${MODE}_includes.txt ${IN}
+sed 's/^#\(line\)\? \([[:digit:]]\+\) "\(.*\)".*/\n#pragma file(\3)\n#pragma line(\2)/g' ../.tmp/${MODE}.txt > ../.tmp/${MODE}.qc
+cd ${MODE}
+echo $(basename ${QCC}) ${QCCFLAGS} -o ${OUT} ${MODE}.qc
+${QCC} ${QCCFLAGS} -o ${OUT} ../../.tmp/${MODE}.qc