-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
55 lines (39 loc) · 1.21 KB
/
makefile
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
53
54
55
##
# Makefile
# Author: Mario Román
# From: https://github.com/M42/mp-tsp/blob/master/makefile
##
# Directory macros.
INCLUDE=./include
OBJ=./obj
SRC=./src
DOC=./doc
BIN=./bin
# Executable and object files macros.
EXECUTABLE= $(BIN)/granasatClient
EXECUTABLE2= $(BIN)/imageConvert
HEADERS= $(wildcard $(INCLUDE)/*.h)
SOURCES= $(filter-out $(SRC)/imageconvert.c, $(wildcard $(SRC)/*.c))
OBJECTS= $(patsubst $(SRC)/%.c, $(OBJ)/%.o, $(SOURCES))
# Compiling and linking flags.
CC=gcc
INCLUDES=-I./include -I/usr/include/gtk-3.0 -I/usr/include/glib-2.0 -I/usr/include/cairo
FLAGS=-O0 -g3 -Wall -fmessage-length=0 `pkg-config --cflags --libs gtk+-3.0 opencv` -export-dynamic
# Executables are the main objetive.
all: $(EXECUTABLE) $(EXECUTABLE2)
# Linking and compiling.
$(EXECUTABLE): $(OBJECTS)
$(CC) -o $@ $(OBJECTS) $(INCLUDES) $(FLAGS)
$(EXECUTABLE2): $(SRC)/imageconvert.c
$(CC) -o $@ $(SRC)/imageconvert.c $(FLAGS)
# Compiling.
$(OBJ)/%.o: $(SRC)/%.c $(HEADERS)
$(CC) -o $@ $(INCLUDES) -c $< $(FLAGS)
# Cleaning.
clean:
@rm $(OBJ)/*.o && echo "Borrados ficheros objeto."
@rm $(EXECUTABLE) && echo "Borrado ejecutable."
@rm $(EXECUTABLE2) && echo "Borrado ejecutable 2."
doc:
doxygen doxyfile
.PHONY: clean doc