all: log_uploader.e

OBJ := log_uploader.o clicom.o com.pb-c.o buffer_monitor.o \
       linetc.o common.o linelist.o config_file.o ttyread.o


COMMON_ARGS := -g -Werror -Wall -Wextra -Wconversion -Wno-unused -pthread
COMPILER := gcc
PROTO_DIR := ../../proto

com.pb-c.h com.pb-c.c: $(PROTO_DIR)/com.proto
	protoc-c -I$(PROTO_DIR) --c_out=. $(PROTO_DIR)/com.proto

libconfig/%.o: libconfig/%.c
	$(COMPILER) -c -o $@ $<

%.o: %.c com.pb-c.h *.h
	$(COMPILER) $(COMMON_ARGS) -c -o $@ $<

log_uploader.e: $(OBJ) *.h
	$(COMPILER) $(COMMON_ARGS) $^ -o log_uploader.e -lprotobuf-c -lconfig


.PHONY: clean

clean:
	rm *.e *.o libconfig/*.o com.pb-c.* 2> /dev/null | true
