Skip to content
Snippets Groups Projects
Makefile 815 B
Newer Older
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
SOURCES  := $(SRCDIR)/$(TARGET).c
INCLUDES := $(wildcard $(SRCDIR)/*.h)
OBJECTS  := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
$(BINDIR)/$(TARGET): $(BINDIR)
$(BINDIR):
	mkdir -p $(BINDIR)
$(BINDIR)/$(TARGET): $(OBJECTS)
	@$(LINKER) $(OBJECTS) $(LFLAGS) -o $@
	@echo "Linking complete."

$(OBJECTS): | $(OBJDIR)
$(OBJDIR):
	mkdir -p $(OBJDIR)
$(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.c
	@$(CC) $(CFLAGS) -c $< -o $@
	@echo "Compiled "$<" successfully."

.PHONY: clean
clean:
	@rm -f $(OBJECTS)
	@echo "Cleanup complete."

.PHONY: remove
remove: clean
	@rm -f $(BINDIR)/$(TARGET)
	@echo "Executable removed."