Makefile 830 Bytes
Newer Older
Igor Zhirkov's avatar
update  
Igor Zhirkov committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
CC        = clang
LINKER	  = clang
BUILDDIR  = build
OBJDIR	  = obj
SRCDIR    = src
TESTDIR   = tests


INCLUDEDIR = include
CFLAGS	   = -c -std=c17 -I$(INCLUDEDIR) -ggdb -Wall -Werror -pedantic -Wno-attributes
LDFLAGS    =

SOURCES     = $(wildcard $(SRCDIR)/*.c) $(wildcard $(SRCDIR)/transform/*.c)
OBJECTS     = $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o)

TARGET      = image-transformer

ifneq ($(with), )
    CFLAGS += $(with)
    LDFLAGS += $(with)
endif


all: $(BUILDDIR)/$(TARGET)

$(BUILDDIR)/$(TARGET): $(OBJECTS) | $(BUILDDIR) $(BUILDDIR)/transform
	$(LINKER) $(LDFLAGS) $(OBJECTS) -o $@

$(OBJECTS): $(OBJDIR)/%.o:$(SRCDIR)/%.c | $(OBJDIR) $(OBJDIR)/transform
	$(CC) $(CFLAGS) -c $< -o $@

$(BUILDDIR) $(BUILDDIR)/transform $(OBJDIR) $(OBJDIR)/transform:
	mkdir -p $@

clean:
	rm -rf $(BUILDDIR) $(OBJDIR)

.PHONY: clean