32 lines
552 B
Makefile
32 lines
552 B
Makefile
|
|
CC=gcc
|
|
CFLAGS=-ggdb -O0
|
|
CFLAGS+=-Wextra -Wall -Wpedantic
|
|
CFLAGS+=-fsanitize=address -fsanitize=undefined
|
|
CFLAGS+=-fanalyzer
|
|
CFLAGS+=-rdynamic
|
|
CFLAGS+=-Iinclude
|
|
|
|
LDFLAGS=
|
|
LDLIBS=
|
|
|
|
_OBJS=main.o parse.o json_obj.o util.o
|
|
OBJS=$(patsubst %,.obj/%,$(_OBJS))
|
|
|
|
all: bin/parse
|
|
|
|
bin/parse: $(OBJS) | bin
|
|
$(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDLIBS) -o $@
|
|
|
|
.obj/main.o: src/main.c | .obj
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $(LDLIBS) -c $< -o $@
|
|
|
|
.obj/%.o: src/%.c include/%.h | .obj
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $(LDLIBS) -c $< -o $@
|
|
|
|
bin:
|
|
mkdir -p $@
|
|
|
|
.obj:
|
|
mkdir -p $@
|