Project

General

Profile

Statistics
| Revision:

root / trunk / code / projects / colonet / server / Makefile @ 764

History | View | Annotate | Download (2.73 KB)

1 11 emarinel
# ColonetServer makefile
2
3 489 emarinel
COLONYROOT = ../../../..
4
5 11 emarinel
CC = g++
6 710 gtress
CFLAGS = -Wall -Wshadow -Wextra -g
7 440 jknichel
VISIONFLAGS = -ggdb `pkg-config opencv --cflags --libs`
8 11 emarinel
9 659 jknichel
COLONETCPPFILES = Main.cpp ColonetServer.cpp ConnectionPool.cpp Command.cpp colonet_wireless.cpp PositionMonitor.cpp VirtualWall.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 655 jknichel
	@echo "---------------------------"
39
	@echo "---compiling vision code---"
40
	cd vision; 	make
41
	@echo "---finish compiling vision code---"
42
	@echo "----------------------------------"
43 401 emarinel
44 489 emarinel
$(COLONYROOT)/code/projects/libwireless/lib/libwireless_colonet.a: $(COLONYROOT)/code/projects/libwireless/lib/*.c $(COLONYROOT)/code/projects/libwireless/lib/*.h
45 655 jknichel
	@echo "---------------------------"
46
	@echo "---compiling wireless library code---"
47 489 emarinel
	cd $(COLONYROOT)/code/projects/libwireless/lib; make colonet
48 655 jknichel
	@echo "---finish compiling wireless library code---"
49
	@echo "----------------------------------"
50 489 emarinel
51 704 gtress
ColonetServer: $(COLONYROOT)/code/projects/libwireless/lib/libwireless_colonet.a $(COLONETCPPFILES) $(COLONETFILES) $(LOGGINGFILES) $(COLONETHEADERFILES) $(VISIONOBJECTS)
52 441 jknichel
	@echo "-----------------------"
53 655 jknichel
	@echo "---begin compiling server---"
54 160 jknichel
	@echo ""
55 655 jknichel
	@echo "-----creating object files-----"
56 61 jknichel
	$(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 655 jknichel
	@echo "-----finish creating object files-----"
60 160 jknichel
	@echo ""
61 655 jknichel
	@echo "-----linking files-----"
62 440 jknichel
	$(CC) $(CFLAGS) $(VISIONFLAGS) $(COLONETOBJECTS) $(COLONETCPPOBJECTS) $(LOGGINGOBJECTS) $(VISIONOBJECTS) $(LIBRARY_DIRS_FOR_GCC) -lpthread -lwireless_colonet  $(INCLUDE_DIRS_FOR_GCC) -o $@
63 655 jknichel
	@echo "-----finish linking files-----"
64 160 jknichel
	@echo ""
65
	@echo "---finish compilation---"
66 441 jknichel
	@echo "-----------------------"
67 11 emarinel
68 177 emarinel
clean:
69 161 emarinel
	rm -rf *.o ColonetServer *~