- # 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
-GCC.warnings:=-Wall -Wextra -Wpedantic -Wvla -Wshadow -Wundef
-
+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} ${GCC.warnings} ${SRC} -o ${TARGET}
- ${CLANG} ${GCC.warnings} ${SRC} -o ${TARGET}
++ ${GCC} ${D.versions} ${GCC.warnings} ${SRC} -o ${TARGET}
++ ${CLANG} ${D.versions} ${GCC.warnings} ${SRC} -o ${TARGET}
+ ${VALGRIND} ${VALGRIND.flags} $(shell pwd)/${TARGET} ${ARGS}