Project

General

Profile

Statistics
| Revision:

root / trunk / code / projects / colonet / ColonetServer / Makefile @ 441

History | View | Annotate | Download (2.04 KB)

1 11 emarinel
# ColonetServer makefile
2
3
CC = g++
4 436 jknichel
CFLAGS = -Wall -Wshadow -Wextra -g
5 440 jknichel
VISIONFLAGS = -ggdb `pkg-config opencv --cflags --libs`
6 11 emarinel
7 436 jknichel
COLONETCPPFILES = Main.cpp ColonetServer.cpp ConnectionPool.cpp Command.cpp colonet_wireless.cpp PositionMonitor.cpp
8 11 emarinel
COLONETCPPOBJECTS = $(COLONETCPPFILES:.cpp=.o)
9 23 jknichel
COLONETFILES = options.c
10 11 emarinel
COLONETOBJECTS = $(COLONETFILES:.c=.o)
11 57 jknichel
LOGGINGFILES = Log.cpp
12 11 emarinel
LOGGINGOBJECTS = $(LOGGINGFILES:.cpp=.o)
13 440 jknichel
14
VISIONOBJECTS = ../vision/vision.o
15
16 436 jknichel
COLONETHEADERFILES = includes/*.h
17 61 jknichel
18 440 jknichel
VPATH = ../lib:../vision
19
INCLUDE_DIRS = ../lib ../../libwireless/lib includes ../vision
20
LIBRARY_DIRS = ../lib ../../libwireless/lib ../vision
21 436 jknichel
22 61 jknichel
#this takes the include directory and puts a -I in front of each directory name before being used in a gcc statement
23
INCLUDE_DIRS_FOR_GCC = $(patsubst %, -I %, $(INCLUDE_DIRS))
24
#this takes the library directory and puts a -L in front of each directory name so it can be used in a gcc statement
25
LIBRARY_DIRS_FOR_GCC = $(patsubst %,-L%, $(LIBRARY_DIRS))
26
27 307 emarinel
.PHONY : all clean run
28 11 emarinel
29
all: ColonetServer
30
31 307 emarinel
run:
32 401 emarinel
	cd ../../libwireless/lib; make colonet
33 307 emarinel
	make; ./ColonetServer
34
35 418 emarinel
../../libwireless/lib/libwireless_colonet.a: ../../libwireless/lib/*.c ../../libwireless/lib/*.h
36 401 emarinel
	cd ../../libwireless/lib; make colonet
37
38 436 jknichel
ColonetServer: ../../libwireless/lib/libwireless_colonet.a $(COLONETCPPFILES) $(COLONETFILES) $(LOGGINGFILES) $(COLONETHEADERFILES)
39 441 jknichel
	@echo "-----------------------"
40 160 jknichel
	@echo "---begin compilation---"
41
	@echo ""
42
	@echo "---create object files---"
43 61 jknichel
	$(CC) $(CFLAGS) -c $(COLONETFILES) $(INCLUDE_DIRS_FOR_GCC)
44
	$(CC) $(CFLAGS) -c $(COLONETCPPFILES) $(INCLUDE_DIRS_FOR_GCC)
45
	$(CC) $(CFLAGS) -c $(LOGGINGFILES) $(INCLUDE_DIRS_FOR_GCC)
46 299 jknichel
	@echo "---finish creating object files---"
47 160 jknichel
	@echo ""
48
	@echo "---link files---"
49 440 jknichel
	$(CC) $(CFLAGS) $(VISIONFLAGS) $(COLONETOBJECTS) $(COLONETCPPOBJECTS) $(LOGGINGOBJECTS) $(VISIONOBJECTS) $(LIBRARY_DIRS_FOR_GCC) -lpthread -lwireless_colonet  $(INCLUDE_DIRS_FOR_GCC) -o $@
50 299 jknichel
	@echo "---finish linking files---"
51 160 jknichel
	@echo ""
52
	@echo "---finish compilation---"
53 441 jknichel
	@echo "-----------------------"
54 11 emarinel
55 177 emarinel
clean:
56 161 emarinel
	rm -rf *.o ColonetServer *~