root / trunk / code / projects / colonet / server / Makefile @ 478
History | View | Annotate | Download (2.02 KB)
1 |
# ColonetServer makefile |
---|---|
2 |
|
3 |
CC = g++ |
4 |
CFLAGS = -Wall -Wshadow -Wextra -g |
5 |
VISIONFLAGS = -ggdb `pkg-config opencv --cflags --libs` |
6 |
|
7 |
COLONETCPPFILES = Main.cpp ColonetServer.cpp ConnectionPool.cpp Command.cpp colonet_wireless.cpp PositionMonitor.cpp |
8 |
COLONETCPPOBJECTS = $(COLONETCPPFILES:.cpp=.o) |
9 |
COLONETFILES = options.c |
10 |
COLONETOBJECTS = $(COLONETFILES:.c=.o) |
11 |
LOGGINGFILES = Log.cpp |
12 |
LOGGINGOBJECTS = $(LOGGINGFILES:.cpp=.o) |
13 |
|
14 |
VISIONOBJECTS = vision/vision.o |
15 |
|
16 |
COLONETHEADERFILES = includes/*.h |
17 |
|
18 |
VPATH = ../lib:vision |
19 |
INCLUDE_DIRS = ../lib ../../libwireless/lib includes vision |
20 |
LIBRARY_DIRS = ../lib ../../libwireless/lib vision |
21 |
|
22 |
#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 |
.PHONY : all clean run |
28 |
|
29 |
all: ColonetServer |
30 |
|
31 |
run: |
32 |
cd ../../libwireless/lib; make colonet |
33 |
make; ./ColonetServer |
34 |
|
35 |
../../libwireless/lib/libwireless_colonet.a: ../../libwireless/lib/*.c ../../libwireless/lib/*.h |
36 |
cd ../../libwireless/lib; make colonet |
37 |
|
38 |
ColonetServer: ../../libwireless/lib/libwireless_colonet.a $(COLONETCPPFILES) $(COLONETFILES) $(LOGGINGFILES) $(COLONETHEADERFILES) |
39 |
@echo "-----------------------" |
40 |
@echo "---begin compilation---" |
41 |
@echo "" |
42 |
@echo "---create object files---" |
43 |
$(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 |
@echo "---finish creating object files---" |
47 |
@echo "" |
48 |
@echo "---link files---" |
49 |
$(CC) $(CFLAGS) $(VISIONFLAGS) $(COLONETOBJECTS) $(COLONETCPPOBJECTS) $(LOGGINGOBJECTS) $(VISIONOBJECTS) $(LIBRARY_DIRS_FOR_GCC) -lpthread -lwireless_colonet $(INCLUDE_DIRS_FOR_GCC) -o $@ |
50 |
@echo "---finish linking files---" |
51 |
@echo "" |
52 |
@echo "---finish compilation---" |
53 |
@echo "-----------------------" |
54 |
|
55 |
clean: |
56 |
rm -rf *.o ColonetServer *~ |