From 9e10bbeb38b90d7e885a148e8f701261eb17c1ca Mon Sep 17 00:00:00 2001 From: nsz Date: Oct 22 2012 17:00:00 +0000 Subject: api: declarative makefile --- diff --git a/src/api/Makefile b/src/api/Makefile index 5df7ccb..d8e1cd4 100644 --- a/src/api/Makefile +++ b/src/api/Makefile @@ -1,12 +1,23 @@ CFLAGS+=-std=c99 -pedantic-errors -Wall -Werror -Wno-unused -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 #CFLAGS+=-DX_PS -DX_TPS -DX_TYM -DX_RPP_TPP +LDFLAGS+=-lcrypt -ldl -lm -lpthread -lrt -all: - for i in *.c; do \ - LC_ALL=C $(CC) $(CFLAGS) -c $$i 2>&1; \ - done |grep -v 'Each undeclared identifier is reported only once' |grep -v 'for each function it appears in' - $(CC) $(LDFLAGS) -lcrypt -ldl -lm -lpthread -lrt *.o -o main 2>&1 +SRC=$(sort $(wildcard *.c)) +ERR=$(SRC:.c=.err) -clean: - rm -f main *.o +-include ../../config.mak + +all: all.err + cat $< + +all.err: $(ERR) + LC_ALL=C $(CC) $(LDFLAGS) -o main *.o 2>main.err || true + cat $(ERR) |\ + grep -v 'Each undeclared identifier is reported only once' |\ + grep -v 'for each function it appears in' >$@ || true +%.err: %.c + LC_ALL=C $(CC) $(CFLAGS) -c $< 2>$@ || true + +clean: + rm -f main *.o *.err