CC = gcc
CFLAGS = -Wall -g -std=gnu2x
LDFLAGS =
LIBS =
INCLUDES = -I./src/lib -I./src
SRCS = $(wildcard src/*.c src/lib/*.c)
OBJS = $(SRCS:.c=.o)
TARGET = up
CROSS_COMPILE =
DESTDIR = /

all: $(TARGET)

$(TARGET): $(OBJS)
	$(CROSS_COMPILE)$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)

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

clean:
	rm -f $(OBJS) $(TARGET)

install:
	if [ ! -d $(DESTDIR)/etc/finit.d/available/ ]; then \
	    mkdir -p $(DESTDIR)/etc/finit.d/available/; \
	fi
	if [ ! -d $(DESTDIR)/etc/finit.d/enabled/ ]; then \
		mkdir -p $(DESTDIR)/etc/finit.d/enabled/; \
	fi
	if [ ! -d $(DESTDIR)/srv/www/ ]; then \
	    mkdir -p $(DESTDIR)/srv/www/; \
	fi
	cp -v web/* up $(DESTDIR)/srv/www/
	cp -v up.conf $(DESTDIR)/etc/finit.d/available/
	ln -svf ../available/up.conf $(DESTDIR)/etc/finit.d/enabled/
