root / branches / analog / code / projects / colonet / server / Makefile @ 1390
History | View | Annotate | Download (2.81 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 VirtualWall.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 vision/savetonetwork.o vision/memdst.o vision/sysvsem.o vision/shmimgserve.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 |
@echo "---------------------------" |
39 |
@echo "---compiling vision code---" |
40 |
cd vision; make |
41 |
@echo "---finish compiling vision code---" |
42 |
@echo "----------------------------------" |
43 |
|
44 |
$(COLONYROOT)/code/projects/libwireless/lib/libwireless_colonet.a: $(COLONYROOT)/code/projects/libwireless/lib/*.c $(COLONYROOT)/code/projects/libwireless/lib/*.h |
45 |
@echo "---------------------------" |
46 |
@echo "---compiling wireless library code---" |
47 |
cd $(COLONYROOT)/code/projects/libwireless/lib; make colonet |
48 |
@echo "---finish compiling wireless library code---" |
49 |
@echo "----------------------------------" |
50 |
|
51 |
ColonetServer: $(COLONYROOT)/code/projects/libwireless/lib/libwireless_colonet.a $(COLONETCPPFILES) $(COLONETFILES) $(LOGGINGFILES) $(COLONETHEADERFILES) $(VISIONOBJECTS) |
52 |
@echo "-----------------------" |
53 |
@echo "---begin compiling server---" |
54 |
@echo "" |
55 |
@echo "-----creating object files-----" |
56 |
$(CC) $(CFLAGS) -c $(COLONETFILES) $(INCLUDE_DIRS_FOR_GCC) |
57 |
$(CC) $(CFLAGS) -c $(COLONETCPPFILES) $(INCLUDE_DIRS_FOR_GCC) |
58 |
$(CC) $(CFLAGS) -c $(LOGGINGFILES) $(INCLUDE_DIRS_FOR_GCC) |
59 |
@echo "-----finish creating object files-----" |
60 |
@echo "" |
61 |
@echo "-----linking files-----" |
62 |
$(CC) $(CFLAGS) $(VISIONFLAGS) $(COLONETOBJECTS) $(COLONETCPPOBJECTS) $(LOGGINGOBJECTS) $(VISIONOBJECTS) $(LIBRARY_DIRS_FOR_GCC) -lpthread -lwireless_colonet -ljpeg $(INCLUDE_DIRS_FOR_GCC) -o $@ |
63 |
@echo "-----finish linking files-----" |
64 |
@echo "" |
65 |
@echo "---finish compilation---" |
66 |
@echo "-----------------------" |
67 |
|
68 |
clean: |
69 |
rm -rf *.o ColonetServer *~ |