24 lines
711 B
Makefile
24 lines
711 B
Makefile
# Make script for Chad projects
|
|
# This script depends on the following variables
|
|
# - OUT : output program name
|
|
# - OUTARGS : default flags to fork ${OUT} with
|
|
|
|
#
|
|
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}
|
|
|
|
.DEFAULT_GOAL:=main
|