Project

General

Profile

Statistics
| Revision:

root / trunk / code / projects / colonet / ColonetServer / Makefile @ 161

History | View | Annotate | Download (1.7 KB)

1
# ColonetServer makefile
2

    
3
CC = g++
4
CFLAGS = -Wall -Wshadow -Wextra -g
5

    
6
COLONETCPPFILES = ColonetServer.cpp wirelessMessageHandler.cpp ConnectionPool.cpp Command.cpp
7
COLONETCPPOBJECTS = $(COLONETCPPFILES:.cpp=.o)
8
COLONETFILES = options.c
9
COLONETOBJECTS = $(COLONETFILES:.c=.o)
10
LOGGINGFILES = Log.cpp
11
LOGGINGOBJECTS = $(LOGGINGFILES:.cpp=.o)
12

    
13
VPATH = ../lib:../lib/colonet_wireless
14
INCLUDE_DIRS = ../lib/colonet_wireless ../lib ../../libwireless/lib ../lib/colonet_wireless
15
LIBRARY_DIRS = ../lib ../../libwireless/lib ../lib/colonet_wireless
16

    
17

    
18
#this takes the include directory and puts a -I in front of each directory name before being used in a gcc statement
19
INCLUDE_DIRS_FOR_GCC = $(patsubst %, -I %, $(INCLUDE_DIRS))
20
#this takes the library directory and puts a -L in front of each directory name so it can be used in a gcc statement
21
LIBRARY_DIRS_FOR_GCC = $(patsubst %,-L%, $(LIBRARY_DIRS))
22

    
23
CONTENTS_OF_WIRELESS_ARCHIVE = $(shell ar t ../lib/libcolonet_wireless.a)
24

    
25
.PHONY : all clean
26

    
27
all: ColonetServer
28

    
29
ColonetServer: $(COLONETCPPFILES) $(COLONETFILES) $(LOGGINGFILES) ../lib/libcolonet_wireless.a
30
	@echo "---begin compilation---"
31
	@echo ""
32
	@echo "---unpacking archive file---"
33
	ar x ../lib/libcolonet_wireless.a
34
	@echo ""
35
	@echo "---create object files---"
36
	$(CC) $(CFLAGS) -c $(COLONETFILES) $(INCLUDE_DIRS_FOR_GCC)
37
	$(CC) $(CFLAGS) -c $(COLONETCPPFILES) $(INCLUDE_DIRS_FOR_GCC)
38
	$(CC) $(CFLAGS) -c $(LOGGINGFILES) $(INCLUDE_DIRS_FOR_GCC)
39
	@echo ""
40
	@echo "---link files---"
41
	$(CC) $(CFLAGS) $(COLONETOBJECTS) $(COLONETCPPOBJECTS) $(LOGGINGOBJECTS) $(LIBRARY_DIRS_FOR_GCC) $(CONTENTS_OF_WIRELESS_ARCHIVE) -lpthread $(INCLUDE_DIRS_FOR_GCC) -o $@
42
	@echo ""
43
	@echo "---finish compilation---"
44

    
45
clean: 
46
	rm -rf *.o ColonetServer *~