-.PHONY: clean
+.PHONY: check check_valgrind clean release
.SUFFIXES:
.SUFFIXES: .c .o
SHELL=/bin/sh
CC=gcc
-CFLAGS=-Wall -Wextra -Wformat -Wswitch-default -Wuninitialized -Wunused -Wno-unused-parameter
+CFLAGS=-ansi -pedantic
+FLAGS= # command-line macro
-colorize: colorize.o
- $(CC) -o $@ $<
-
-colorize.o: colorize.c
- $(CC) $(CFLAGS) -c $< -DCFLAGS="$(CFLAGS)"
+colorize: colorize.c
+ perl ./version.pl > version.h
+ $(CC) $(CFLAGS) -o colorize colorize.c -DCFLAGS="$(CFLAGS)" -DHAVE_VERSION $(FLAGS)
check:
- perl ./test.pl
+ perl ./test.pl --regular
+
+check_valgrind:
+ @which valgrind >/dev/null 2>&1 || (printf '%s\n' "valgrind not found" && exit 1)
+ perl ./test.pl --valgrind || exit 0
clean:
- [ -e colorize.o ] && rm colorize.o; exit 0
+ rm -f a.out colorize debug.txt version.h
+
+release:
+ sh ./release.sh