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 *~ |