root / trunk / code / projects / libwireless / jni / lib / Makefile @ 940
History | View | Annotate | Download (1.87 KB)
1 | 940 | rcahoon | # 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 |