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