Project

General

Profile

Statistics
| Revision:

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

History | View | Annotate | Download (1.45 KB)

1
# ColonetServer makefile
2

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

    
6
COLONETCPPFILES = ColonetServer.cpp client.cpp ConnectionPool.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
15
LIBRARY_DIRS = ../lib
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
.PHONY : all clean
24

    
25
all: ColonetServer
26

    
27
#TODO: make a variable that handles the multiple -I blah stuff so it doesn't have to be written on every line
28
#TODO: make use of VPATH or vpath directive to point at lib directory and then use -lcolonet_wireless
29
ColonetServer: $(COLONETCPPFILES) $(COLONETFILES) $(LOGGINGFILES) -lcolonet_wireless
30
	$(CC) $(CFLAGS) -c $(COLONETFILES) $(INCLUDE_DIRS_FOR_GCC)
31
	$(CC) $(CFLAGS) -c $(COLONETCPPFILES) $(INCLUDE_DIRS_FOR_GCC)
32
	$(CC) $(CFLAGS) -c $(LOGGINGFILES) $(INCLUDE_DIRS_FOR_GCC)
33
	$(CC) $(CFLAGS) $(COLONETOBJECTS) $(COLONETCPPOBJECTS) $(LOGGINGOBJECTS) $(LIBRARY_DIRS_FOR_GCC) -lpthread -lcolonet_wireless $(INCLUDE_DIRS_FOR_GCC) -o $@
34

    
35
clean: 
36
	rm -rf *.o ColonetServer