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 |