]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/qcc.sh
Makefile: factor out qcc
[xonotic/xonotic-data.pk3dir.git] / qcsrc / qcc.sh
1 #!/bin/sh
2 set -eu
3
4 MODE=$1
5 IN=$3
6 OUT=$2
7
8 QCC=${QCC}
9 QCCIDENT="-DGMQCC"
10
11 case ${MODE} in
12     client) PROG=CSQC
13     ;;
14     menu) PROG=MENUQC
15     ;;
16     server) PROG=SVQC
17     ;;
18 esac
19
20 CPP="${CPP} -I. ${QCCIDENT} ${QCCDEFS} -D${PROG}"
21 set -x
22 ${CPP} -CC -MMD -MP -MT ${OUT} -Wall -Wundef -Werror -o tmp/${MODE}.qc ${IN}
23 ${CPP} -dM 1>tmp/${MODE}_macros.txt -H 2>tmp/${MODE}_includes.txt ${IN}
24 sed -i 's/^#\(line\)\? \([[:digit:]]\+\) "\(.*\)".*/\n#pragma file(\3)\n#pragma line(\2)/g' tmp/${MODE}.qc
25 cd ${MODE}
26 ${QCC} ${QCCFLAGS} -o ../${OUT} ../tmp/${MODE}.qc