step 2) Header seperation
cpuid, bits, list and maybe lsf are too common names
and have to reside in a seperate folder to avoid clashes
committer: Markus Bröker <mbroeker@largo.homelinux.org>
+ − CC = gcc
+ − JAVA = java
+ − JAVAH = javah
+ − JAVAC = javac
+ − LIB = lib/libConsole.so
+ −
+ − ifdef JAVA_HOME
+ − JAVA_DIR="$(JAVA_HOME)"
+ − else
+ − JAVA_DIR=/usr/lib/jvm/java-6-sun
+ − endif
+ −
+ − INCLUDE = -I$(JAVA_DIR)/include -I$(JAVA_DIR)/include/linux -Iinclude
+ −
+ − SOURCES = Getch.java
+ − SOURCES += Console.java
+ −
+ − OBJECTS = cross_getch.o
+ −
+ − .SUFFIXES: .java
+ −
+ − .c.o:
+ − @echo "JAVA_HOME=$(JAVA_DIR)"
+ − $(CC) -c $(CFLAGS) $(INCLUDE) $< -o $@
+ −
+ − all: Getch.class $(LIB)
+ −
+ − Getch.class: $(SOURCES)
+ − $(JAVAC) -d . $(SOURCES)
+ − $(JAVAH) -jni -d include Console
+ −
+ − $(LIB): $(OBJECTS)
+ − $(CC) -shared -Wl,-soname,libConsole.so.1,-rpath,lib $(OBJECTS) -o $@
+ −
+ − .PHONY: clean
+ −
+ − clean:
+ − rm -f include/Getch.h include/Console.h *.class *~ $(LIB)
+ − rm -f $(OBJECTS)
+ −
+ − debug: Getch.class lib/libConsole.so
+ − LD_LIBRARY_PATH=lib $(JAVA) -cp . Getch
+ −
+ − run: Getch.class $(LIB)
+ − $(JAVA) -Djava.library.path=lib -cp . Getch