root / trunk / code / projects / colonet / server / Makefile @ 516
History | View | Annotate | Download (2.33 KB)
1 | 11 | emarinel | # ColonetServer makefile |
---|---|---|---|
2 | |||
3 | 489 | emarinel | COLONYROOT = ../../../.. |
4 | |||
5 | 11 | emarinel | CC = g++ |
6 | 436 | jknichel | CFLAGS = -Wall -Wshadow -Wextra -g |
7 | 440 | jknichel | VISIONFLAGS = -ggdb `pkg-config opencv --cflags --libs` |
8 | 11 | emarinel | |
9 | 436 | jknichel | COLONETCPPFILES = Main.cpp ColonetServer.cpp ConnectionPool.cpp Command.cpp colonet_wireless.cpp PositionMonitor.cpp |
10 | 11 | emarinel | COLONETCPPOBJECTS = $(COLONETCPPFILES:.cpp=.o) |
11 | 23 | jknichel | COLONETFILES = options.c |
12 | 11 | emarinel | COLONETOBJECTS = $(COLONETFILES:.c=.o) |
13 | 57 | jknichel | LOGGINGFILES = Log.cpp |
14 | 11 | emarinel | LOGGINGOBJECTS = $(LOGGINGFILES:.cpp=.o) |
15 | 440 | jknichel | |
16 | 478 | emarinel | VISIONOBJECTS = vision/vision.o |
17 | 440 | jknichel | |
18 | 436 | jknichel | COLONETHEADERFILES = includes/*.h |
19 | 61 | jknichel | |
20 | 478 | emarinel | VPATH = ../lib:vision |
21 | 489 | emarinel | 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 | 436 | jknichel | |
24 | 61 | jknichel | #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 | 307 | emarinel | .PHONY : all clean run |
30 | 11 | emarinel | |
31 | all: ColonetServer |
||
32 | |||
33 | 307 | emarinel | run: |
34 | 401 | emarinel | cd ../../libwireless/lib; make colonet |
35 | 307 | emarinel | make; ./ColonetServer |
36 | |||
37 | 489 | emarinel | vision/vision.o: vision/vision.c vision/vision.h |
38 | cd vision |
||
39 | make |
||
40 | 401 | emarinel | |
41 | 489 | emarinel | $(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 | 441 | jknichel | @echo "-----------------------" |
46 | 160 | jknichel | @echo "---begin compilation---" |
47 | @echo "" |
||
48 | @echo "---create object files---" |
||
49 | 61 | jknichel | $(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 | 299 | jknichel | @echo "---finish creating object files---" |
53 | 160 | jknichel | @echo "" |
54 | @echo "---link files---" |
||
55 | 440 | jknichel | $(CC) $(CFLAGS) $(VISIONFLAGS) $(COLONETOBJECTS) $(COLONETCPPOBJECTS) $(LOGGINGOBJECTS) $(VISIONOBJECTS) $(LIBRARY_DIRS_FOR_GCC) -lpthread -lwireless_colonet $(INCLUDE_DIRS_FOR_GCC) -o $@ |
56 | 299 | jknichel | @echo "---finish linking files---" |
57 | 160 | jknichel | @echo "" |
58 | @echo "---finish compilation---" |
||
59 | 441 | jknichel | @echo "-----------------------" |
60 | 11 | emarinel | |
61 | 177 | emarinel | clean: |
62 | 161 | emarinel | rm -rf *.o ColonetServer *~ |