TARGET=cryptops-api CFLAGS=-O0 -g -Wall -D_GNU_SOURCE -Iincludes -Isrc LFLAGS=-L./libraries -lcryptsetup -lc -lulfius -lyder -lorcania -ljansson CC=gcc LINKER=gcc SRCDIR = src OBJDIR = obj BINDIR = bin DEPS=$(wildcard $(SRCDIR)/*/*.c) $(wildcard $(SRCDIR)/*.c) SOURCES := $(SRCDIR)/$(TARGET).c OBJECTS := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o) $(BINDIR)/$(TARGET): $(BINDIR) $(BINDIR): mkdir -p $(BINDIR) # Make binary linking .o files and libraries $(BINDIR)/$(TARGET): $(OBJECTS) @$(LINKER) $(OBJECTS) $(LFLAGS) -o $@ @echo "Linking complete." # Compile an object for a c file in SRCDIR $(OBJDIR)/%.o: $(SRCDIR)/%.c $(DEPS) mkdir -p $(OBJDIR) @$(CC) $(CFLAGS) -c $< -o $@ @echo "Compiled "$<" successfully." # Remove intermediate files .PHONY: clean clean: @rm -rf $(OBJDIR) @echo "Cleanup complete." # Remove all compiled files .PHONY: remove remove: clean @rm -rf $(BINDIR) @echo "Executable removed."