Project

General

Profile

Statistics
| Revision:

root / trunk / code / projects / libwireless / jni / lib / Makefile @ 940

History | View | Annotate | Download (1.87 KB)

1
# JNI Wireless makefile
2

    
3
COLONYROOT = ../../../../..
4

    
5
CC = gcc
6
CFLAGS = -Wall -Wextra -g 
7
LFLAGS = -shared -static -Wl,-soname,$(TARGET)
8

    
9
WLIB_DIR = $(COLONYROOT)/code/projects/libwireless/lib
10
JAVA_HOME = /usr/lib/jvm/java-6-sun-1.6.0.07
11
JAVA_PACKAGE = org/roboticsclub/colony
12

    
13
JAVA_FILES = $(JAVA_PACKAGE)/Wireless.java $(JAVA_PACKAGE)/TokenRing.java
14
FILES = org_roboticsclub_colony_Wireless.c org_roboticsclub_colony_TokenRing.c
15
WLIB_FILES = sensor_matrix.c wireless.c wl_error_group.c wl_token_ring.c xbee.c
16

    
17
WLIB_SOURCE = $(patsubst %,$(WLIB_DIR)/%, $(WLIB_FILES))
18
OBJECTS = $(FILES:.c=.o)
19
WLIB_OBJECTS = $(WLIB_SOURCE:.c=.o)
20

    
21
INCLUDE_DIRS = $(WLIB_DIR) $(JAVA_HOME)/include $(JAVA_HOME)/include/linux
22
LIBRARY_DIRS = 
23

    
24
#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
.PHONY : all clean run
30

    
31
all: libjniwireless.so java
32

    
33
libjniwireless.so: $(FILES) $(WLIB_SOURCE)
34
	@echo "-----------------------"
35
	@echo "---begin compiling native library---"
36
	$(CC) $(CFLAGS) $(LFLAGS) $(INCLUDE_DIRS_FOR_GCC) $(FILES) $(WLIB_SOURCE) $(LIBRARY_DIRS_FOR_GCC) -o $@
37
	@echo "---finish compiling native library---"
38
	@echo "-----------------------"
39

    
40
java : $(JAVA_FILES)
41
	@echo "----------------------"
42
	@echo "---begin compiling java library---"
43
	@echo ""
44
	@echo "-----compiling java files-----"
45
	javac $(JAVA_FILES)
46
	@echo "-----finish compiling java files-----"
47
	@echo ""
48
	@echo "-----creating jar file-----"
49
	jar cf colonywireless.jar org/
50
	@echo "-----finish creating jar file-----"
51
	@echo ""
52
	@echo "--finish compiling java library---"
53

    
54
clean:
55
	rm -rf *.o libjniwireless.so *~
56
	rm $(JAVA_PACKAGE)/*.class colonywireless.jar