|
|
@@ -1,23 +1,18 @@ |
|
|
|
# Make script for Chad projects |
|
|
|
# This script depends on the following variables |
|
|
|
# - OUT : output program name |
|
|
|
# - OUTARGS : default flags to fork ${OUT} with |
|
|
|
# Programs to check warnings for as defined by the chad standard |
|
|
|
|
|
|
|
# |
|
|
|
CHAD_DEBUG:=-Og -ggdb -pg -fno-inline |
|
|
|
|
|
|
|
# Programs to check warnings for as defined by the Chad standard |
|
|
|
GCC:=gcc |
|
|
|
D.versions:=-D_XOPEN_SOURCE=700 |
|
|
|
GCC.warnings:=-Wall -Wextra -Wpedantic -Wvla -Wshadow -Wundef |
|
|
|
CLANG:=clang |
|
|
|
CLANG.warnings:=-Weverything |
|
|
|
|
|
|
|
VALGRIND:=valgrind |
|
|
|
VALGRIND.flags:=--track-origins=yes --leak-check=full --show-leak-kinds=all |
|
|
|
|
|
|
|
chad_test: |
|
|
|
${GCC} ${D.versions} ${GCC.warnings} ${SRC} -o ${OUT} |
|
|
|
${CLANG} ${D.versions} ${GCC.warnings} ${SRC} -o ${OUT} |
|
|
|
${VALGRIND} ${VALGRIND.flags} ${OUT} ${OUTARGS} |
|
|
|
TARGET:=hl |
|
|
|
ARGS:=${TARGET} < source/main.c |
|
|
|
|
|
|
|
.DEFAULT_GOAL:=main |
|
|
|
chad_test: |
|
|
|
${GCC} ${D.versions} ${GCC.warnings} ${SRC} -o ${TARGET} |
|
|
|
${CLANG} ${D.versions} ${GCC.warnings} ${SRC} -o ${TARGET} |
|
|
|
${VALGRIND} ${VALGRIND.flags} $(shell pwd)/${TARGET} ${ARGS} |