Project

General

Profile

Statistics
| Revision:

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

History | View | Annotate | Download (2.02 KB)

1
# ColonetServer makefile
2

    
3
CC = g++
4
CFLAGS = -Wall -Wshadow -Wextra -g
5

    
6
COLONETCPPFILES = Main.cpp ColonetServer.cpp ConnectionPool.cpp Command.cpp colonet_wireless.cpp PositionMonitor.cpp
7
COLONETCPPOBJECTS = $(COLONETCPPFILES:.cpp=.o)
8
COLONETFILES = options.c
9
COLONETOBJECTS = $(COLONETFILES:.c=.o)
10
LOGGINGFILES = Log.cpp
11
LOGGINGOBJECTS = $(LOGGINGFILES:.cpp=.o)
12
9
13
COLONETHEADERFILES = includes/*.h
14

    
15
VPATH = ../lib:../lib/colonet_wireless:../vision
16
INCLUDE_DIRS = ../lib/colonet_wireless ../lib ../../libwireless/lib ../lib/colonet_wireless includes ../vision
17
LIBRARY_DIRS = ../lib ../../libwireless/lib ../lib/colonet_wireless ../vision
18

    
19
#this takes the include directory and puts a -I in front of each directory name before being used in a gcc statement
20
INCLUDE_DIRS_FOR_GCC = $(patsubst %, -I %, $(INCLUDE_DIRS))
21
#this takes the library directory and puts a -L in front of each directory name so it can be used in a gcc statement
22
LIBRARY_DIRS_FOR_GCC = $(patsubst %,-L%, $(LIBRARY_DIRS))
23

    
24
.PHONY : all clean run
25

    
26
all: ColonetServer
27

    
28
run:
29
	cd ../../libwireless/lib; make colonet
30
	make; ./ColonetServer
31
	../vision/vision.sh
32

    
33
../../libwireless/lib/libwireless_colonet.a: ../../libwireless/lib/*.c ../../libwireless/lib/*.h
34
	cd ../../libwireless/lib; make colonet
35

    
36
ColonetServer: ../../libwireless/lib/libwireless_colonet.a $(COLONETCPPFILES) $(COLONETFILES) $(LOGGINGFILES) $(COLONETHEADERFILES)
37
	@echo "---begin compilation---"
38
	@echo ""
39
	@echo "---create object files---"
40
	$(CC) $(CFLAGS) -c $(COLONETFILES) $(INCLUDE_DIRS_FOR_GCC)
41
	$(CC) $(CFLAGS) -c $(COLONETCPPFILES) $(INCLUDE_DIRS_FOR_GCC)
42
	$(CC) $(CFLAGS) -c $(LOGGINGFILES) $(INCLUDE_DIRS_FOR_GCC)
43
	@echo "---finish creating object files---"
44
	@echo ""
45
	@echo "---link files---"
46
	$(CC) $(CFLAGS) $(COLONETOBJECTS) $(COLONETCPPOBJECTS) $(LOGGINGOBJECTS) $(LIBRARY_DIRS_FOR_GCC) -ggdb `pkg-config opencv --cflags --libs` ../vision/vision.o -lpthread -lwireless_colonet  $(INCLUDE_DIRS_FOR_GCC) -o $@
47
	@echo "---finish linking files---"
48
	@echo ""
49
	@echo "---finish compilation---"
50

    
51
clean:
52
	rm -rf *.o ColonetServer *~