Project

General

Profile

Statistics
| Revision:

root / trunk / code / projects / colonet / server / Makefile @ 489

History | View | Annotate | Download (2.33 KB)

1
# ColonetServer makefile
2

    
3
COLONYROOT = ../../../..
4

    
5
CC = g++
6
CFLAGS = -Wall -Wshadow -Wextra -g
7
VISIONFLAGS = -ggdb `pkg-config opencv --cflags --libs` 
8

    
9
COLONETCPPFILES = Main.cpp ColonetServer.cpp ConnectionPool.cpp Command.cpp colonet_wireless.cpp PositionMonitor.cpp
10
COLONETCPPOBJECTS = $(COLONETCPPFILES:.cpp=.o)
11
COLONETFILES = options.c
12
COLONETOBJECTS = $(COLONETFILES:.c=.o)
13
LOGGINGFILES = Log.cpp
14
LOGGINGOBJECTS = $(LOGGINGFILES:.cpp=.o)
15

    
16
VISIONOBJECTS = vision/vision.o
17

    
18
COLONETHEADERFILES = includes/*.h
19

    
20
VPATH = ../lib:vision
21
INCLUDE_DIRS = $(COLONYROOT)/code/projects/colonet/common $(COLONYROOT)/code/projects/libwireless/lib includes vision
22
LIBRARY_DIRS = $(COLONYROOT)/code/projects/colonet/lib $(COLONYROOT)/code/projects/libwireless/lib vision
23

    
24
#this takes the include directory and puts a -I in front of each directory name before being used in a gcc statement
25
INCLUDE_DIRS_FOR_GCC = $(patsubst %, -I %, $(INCLUDE_DIRS))
26
#this takes the library directory and puts a -L in front of each directory name so it can be used in a gcc statement
27
LIBRARY_DIRS_FOR_GCC = $(patsubst %,-L%, $(LIBRARY_DIRS))
28

    
29
.PHONY : all clean run
30

    
31
all: ColonetServer
32

    
33
run:
34
	cd ../../libwireless/lib; make colonet
35
	make; ./ColonetServer
36

    
37
vision/vision.o: vision/vision.c vision/vision.h
38
	cd vision
39
	make
40

    
41
$(COLONYROOT)/code/projects/libwireless/lib/libwireless_colonet.a: $(COLONYROOT)/code/projects/libwireless/lib/*.c $(COLONYROOT)/code/projects/libwireless/lib/*.h
42
	cd $(COLONYROOT)/code/projects/libwireless/lib; make colonet
43

    
44
ColonetServer: $(COLONYROOT)/code/projects/libwireless/lib/libwireless_colonet.a $(COLONETCPPFILES) $(COLONETFILES) $(LOGGINGFILES) $(COLONETHEADERFILES)
45
	@echo "-----------------------"
46
	@echo "---begin compilation---"
47
	@echo ""
48
	@echo "---create object files---"
49
	$(CC) $(CFLAGS) -c $(COLONETFILES) $(INCLUDE_DIRS_FOR_GCC)
50
	$(CC) $(CFLAGS) -c $(COLONETCPPFILES) $(INCLUDE_DIRS_FOR_GCC)
51
	$(CC) $(CFLAGS) -c $(LOGGINGFILES) $(INCLUDE_DIRS_FOR_GCC)
52
	@echo "---finish creating object files---"
53
	@echo ""
54
	@echo "---link files---"
55
	$(CC) $(CFLAGS) $(VISIONFLAGS) $(COLONETOBJECTS) $(COLONETCPPOBJECTS) $(LOGGINGOBJECTS) $(VISIONOBJECTS) $(LIBRARY_DIRS_FOR_GCC) -lpthread -lwireless_colonet  $(INCLUDE_DIRS_FOR_GCC) -o $@
56
	@echo "---finish linking files---"
57
	@echo ""
58
	@echo "---finish compilation---"
59
	@echo "-----------------------"
60

    
61
clean:
62
	rm -rf *.o ColonetServer *~