
CC = gcc
CFLAGS = -std=gnu99 -fPIC -Wall -Wextra -pedantic \
		 -Wfloat-equal -Wshadow -Wno-unused-parameter \
		 -Wswitch-enum -Wcast-qual -Wnull-dereference -Wunused-result # -Waggregate-return
INCLUDES = -Isrc/ $(pkg-config --cflags lua libmicrohttpd)
LIBS = -lm $(shell pkg-config --libs lua libmicrohttpd)

SRC = src/main.c src/luatml.c src/luatml_build.c src/luatml_serve.c src/luatml_fs.c src/luatml_lib.c
OBJ = $(SRC:.c=.o)
TARGET = luatml

.PHONY: all

all: $(TARGET)

$(TARGET): $(OBJ)
	$(CC) $(CFLAGS) $(INCLUDES) $(LIBS) -o $@ $^

%.o: %.c
	$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@

