21 lines
		
	
	
	
		
			538 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			538 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
# Directory to store compiled binaries.
 | 
						|
BINDIR ?= /tmp/bin/
 | 
						|
 | 
						|
CC      ?= clang
 | 
						|
CFLAGS  ?= -c -Wall -g
 | 
						|
LDFLAGS ?=
 | 
						|
 | 
						|
CFILES=$(wildcard *.c)
 | 
						|
EXEC=$(patsubst %.c,$(BINDIR)%,$(CFILES))
 | 
						|
TESTS=$(addsuffix .test, $(patsubst %.c,%,$(CFILES)))
 | 
						|
 | 
						|
all: $(BINDIR) $(EXEC)
 | 
						|
 | 
						|
$(BINDIR):;         -mkdir -p $(BINDIR)
 | 
						|
$(EXEC): $(CFILES); $(CC) $(LDFLAGS) `basename $@`.c -o $@
 | 
						|
clean:;             @-rm $(EXEC)
 | 
						|
 | 
						|
# to test a binary "prog" : make prog.test
 | 
						|
$(TESTS):; valgrind --leak-check=full -v --track-origins=yes $(BINDIR)$(basename $@)
 | 
						|
 | 
						|
test: all $(TESTS)
 |