-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
53 lines (45 loc) · 1.02 KB
/
Makefile
File metadata and controls
53 lines (45 loc) · 1.02 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# DIRS
INCDIR = include
BINDIR = bin
SRCDIR = src
BUILDDIR = build
LIBDIR = lib
# TARGET
TARGET_IMGPROC = $(BINDIR)/ppmprocessor
# EXTENSIONS
SRCEXT = cpp
HEADEREXT = hpp
# COMPILER
CC = g++
# FOR CLEANING
RM = /bin/rm
# WARNING FLAG
WARN = -Wall
# PEDANTIC FLAG
PEDANTIC = -pedantic -ansi
# DEBUG FLAGS
DEBUG = -g
COMPRESS = -O3
# LINKING FLAGS
INCFLAG = -I $(INCDIR)
LFLAGS = $(DEBUG) $(WARN) $(PEDANTIC) $(INCFLAG) -lpthread
# COMPILATION FLAGS
CFLAGS = $(DEBUG) -c $(WARN) -std=c++11
# OBJS
OBJS = $(BUILDDIR)/main.o $(BUILDDIR)/ppmreader.o $(BUILDDIR)/ppmwriter.o $(BUILDDIR)/image.o $(BUILDDIR)/pixel.o
# ----------------------
# ENTRIES
# ----------------------
all: $(TARGET_IMGPROC)
$(TARGET_IMGPROC): $(OBJS)
$(CC) $^ -o $(TARGET_IMGPROC) $(LFLAGS)
$(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT)
@mkdir -p $(BUILDDIR)
@echo " $(CC) $(CFLAGS) $(INCFLAG) -o $@ $<"
$(CC) $(CFLAGS) $(INCFLAG) -o $@ $<
# DUMMY ENTRIES
clean:
@echo "Cleaning..."
@echo " $(RM) $(OBJS) $(TARGET_IMGPROC)"
$(RM) $(OBJS) $(TARGET_IMGPROC)
.PHONY: clean