CC = gcc
CFLAGS = -std=c17 -Werror -Wall -Wextra -Wpedantic -g
CPPFLAGS = -Iinclude

all: build/hello

build/%.o: src/%.c include/escpos.h
	mkdir -p build/
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@

build/hello.o: examples/hello.c include/escpos.h
	mkdir -p build/
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@

build/hello: build/hello.o build/escpos.o build/buffer.o
	mkdir -p build/
	$(CC) $^ -o $@

clean:
	rm -rf build

valgrind: build/hello
	valgrind --leak-check=full build/hello

run: build/hello
	build/hello


.PHONY: all clean
