27 lines
578 B
Makefile
27 lines
578 B
Makefile
SRCFILES!=ls -d */ | sed 's/include\///' | awk 'NF' | sed 's/.*/&\*.c/g'
|
|
|
|
BUILDDIR=../build
|
|
|
|
CFILES=$(wildcard $(SRCFILES) *.c)
|
|
OFILES=$(patsubst %.c, $(BUILDDIR)/%.o, $(CFILES))
|
|
TXTUTILS=$(BUILDDIR)/grep
|
|
|
|
INCLUDEFLAGS=-Iinclude/
|
|
DEBUGFLAGS=-fsanitize=address -fsanitize=leak -fsanitize=undefined -fsanitize=pointer-compare -lasan
|
|
CFLAGS=-Wall -Wextra $(INCLUDEFLAGS) -g
|
|
LIBFLAGS=
|
|
|
|
.PHONY: all clean test
|
|
.SUFFIXES: .o .c
|
|
|
|
all: $(BUILDDIR) $(TXTUTILS)
|
|
|
|
$(BUILDDIR):
|
|
mkdir -p $(BUILDDIR)
|
|
|
|
$(TXTUTILS): $(CFILES)
|
|
$(CC) $< -o $@ $(CFLAGS) $(LIBFLAGS)
|
|
|
|
clean:
|
|
rm -rf $(BUILDDIR)
|