43 lines
761 B
Makefile
43 lines
761 B
Makefile
|
MKDIR_P := mkdir -p
|
||
|
CP := cp
|
||
|
MV := mv
|
||
|
CC := gcc
|
||
|
CCC := g++
|
||
|
RM_RF = rm -rf
|
||
|
|
||
|
# directories
|
||
|
CWD := $(realpath .)
|
||
|
BINDIR := $(CWD)/bin
|
||
|
BUILDDIR := $(CWD)/build
|
||
|
SRCDIR := $(CWD)/src
|
||
|
INCLUDEDIR := $(CWD)/include
|
||
|
|
||
|
# flas
|
||
|
CFLAGS := -O2 -I$(INCLUDEDIR) -Wall -Wextra
|
||
|
LDFLAGS := -pthread
|
||
|
|
||
|
# target files
|
||
|
DIRS_TARGET := $(BINDIR) $(BUILDDIR)
|
||
|
TARGET := $(BINDIR)/mailattach
|
||
|
SRCFILES := $(wildcard $(SRCDIR)/*.c)
|
||
|
OBJFILES := $(patsubst $(SRCDIR)/%.c,$(BUILDDIR)/%.o,$(SRCFILES))
|
||
|
|
||
|
# fancy targets
|
||
|
all: directories $(TARGET)
|
||
|
|
||
|
directories: $(DIRS_TARGET)
|
||
|
|
||
|
# less fancy targets
|
||
|
|
||
|
$(DIRS_TARGET):
|
||
|
$(MKDIR_P) $@
|
||
|
|
||
|
$(TARGET): $(OBJFILES)
|
||
|
$(CC) $(LDFLAGS) -o $@ $^ /usr/lib/libmilter.a
|
||
|
|
||
|
$(BUILDDIR)/%.o: $(SRCDIR)/%.c
|
||
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||
|
|
||
|
clean:
|
||
|
$(RM_RF) $(DIRS_TARGET)
|