# Makefile for libusbJava, a Java libusb wrapper
|
# Makefile for libusbJava, a Java libusb wrapper
|
# Copyright (C) 2009 ZTEX e.K.
|
# Copyright (C) 2009 ZTEX e.K.
|
# http://www.ztex.de
|
# http://www.ztex.de
|
#
|
#
|
# This Makefile ia a part of the reorganized version of the libusbJava source tree
|
# This Makefile ia a part of the reorganized version of the libusbJava source tree
|
# with proper makefiles. (SVN version of Apr. 6, 2009).
|
# with proper makefiles. (SVN version of Apr. 6, 2009).
|
#
|
#
|
# Please visit http://libusbjava.sourceforge.net for more information about the
|
# Please visit http://libusbjava.sourceforge.net for more information about the
|
# original project.
|
# original project.
|
|
|
#########################
|
#########################
|
# Configuration section #
|
# Configuration section #
|
#########################
|
#########################
|
|
|
# $(JAVAPREFIX)/include should contain jni.h
|
# $(JAVAPREFIX)/include should contain jni.h
|
JAVAPREFIX=/usr/local/java
|
JAVAPREFIX=/usr/local/java
|
|
|
###############################
|
###############################
|
# this should not be modified #
|
# this should not be modified #
|
###############################
|
###############################
|
GCC=gcc
|
GCC=gcc
|
|
STRIP=strip
|
|
CHMOD=chmod -x
|
JAVAC=javac
|
JAVAC=javac
|
RM=rm -f
|
RM=rm -f
|
INSTALL=install
|
INSTALL=install
|
INSTALLDIR=$(INSTALL) -d
|
INSTALLDIR=$(INSTALL) -d
|
INSTALLEXE=$(INSTALL) -m 0755
|
INSTALLEXE=$(INSTALL) -m 0755
|
INSTALLFILE=$(INSTALL) -m 0644
|
INSTALLFILE=$(INSTALL) -m 0644
|
LIBSRCS=LibusbJava.c
|
OBJEXTRADEPS=LibusbJava.h
|
LIBEXTRADEPS=LibusbJava.h
|
LIBSRCS=LibusbJava.o
|
|
LIBSRCS64=LibusbJava.c
|
JAVASRCS=$(shell echo ch/ntb/usb/*.java) $(shell echo ch/ntb/usb/logger/*.java)
|
JAVASRCS=$(shell echo ch/ntb/usb/*.java) $(shell echo ch/ntb/usb/logger/*.java)
|
|
|
LIBTARGET_SH=libusbJavaSh.so
|
LIBTARGET_SH=libusbJavaSh.so
|
LIBTARGET_ST=libusbJavaSt.so
|
LIBTARGET_ST=libusbJavaSt.so
|
|
LIBTARGET_64=libusbJava64.so
|
LIBLIBS=-lusb
|
LIBLIBS=-lusb
|
LIBINCS=-I $(JAVAPREFIX)/include -I $(JAVAPREFIX)/include/linux
|
LIBINCS=-I $(JAVAPREFIX)/include -I $(JAVAPREFIX)/include/linux
|
|
|
.PHONY: all libs classes install2 clean distclean
|
.PHONY: all libs classes install2 clean distclean
|
|
|
all: libs classes
|
all: libs classes
|
|
|
classes: classes.made
|
classes: classes.made
|
|
|
libs: $(LIBTARGET_SH) $(LIBTARGET_ST)
|
libs: $(LIBTARGET_SH) $(LIBTARGET_ST) $(LIBTARGET_64)
|
|
|
$(LIBTARGET_ST): $(LIBSRCS) $(LIBEXTRADEPS)
|
%.o: %.c LibusbJava.h
|
$(GCC) -shared -std=c99 -Wall -Wl,-static,-soname,$(LIBTARGET_ST) $(LIBINCS) -static $(LIBSRCS) -o $(LIBTARGET_ST) $(LIBLIBS)
|
$(GCC) -fPIC -g -c -std=c99 -Wall -Wno-pointer-to-int-cast $(LIBINCS) $< -o$@
|
|
|
$(LIBTARGET_SH): $(LIBSRCS) $(LIBEXTRADEPS)
|
$(LIBTARGET_ST): $(LIBSRCS)
|
$(GCC) -shared -std=c99 -Wall -Wl,-soname,$(LIBTARGET_SH) $(LIBINCS) $(LIBSRCS) -o $(LIBTARGET_SH) $(LIBLIBS)
|
# $(GCC) -shared -Wl,-static,-soname,$(LIBTARGET_ST) $(LIBINCS) -static $(LIBSRCS) -o $(LIBTARGET_ST) $(LIBLIBS)
|
|
$(GCC) -shared -Wl,-soname,$(LIBTARGET_ST),-static $(LIBINCS) $(LIBSRCS) -static -o $(LIBTARGET_ST) $(LIBLIBS)
|
|
$(STRIP) $(LIBTARGET_ST)
|
|
$(CHMOD) $(LIBTARGET_ST)
|
|
|
|
$(LIBTARGET_SH): $(LIBSRCS)
|
|
$(GCC) -fPIC -shared -Wl,-soname,$(LIBTARGET_SH) $(LIBINCS) $(LIBSRCS) -o $(LIBTARGET_SH) $(LIBLIBS)
|
|
$(STRIP) $(LIBTARGET_SH)
|
|
$(CHMOD) $(LIBTARGET_SH)
|
|
|
|
$(LIBTARGET_64): $(LIBSRCS64)
|
|
$(GCC) -fPIC -m64 -shared -std=c99 -Wall -Wno-pointer-to-int-cast -Wl,-soname,$(LIBTARGET_64) $(LIBINCS) $(LIBSRCS64) $(LIBLIBS) -o $(LIBTARGET_64)
|
|
$(STRIP) $(LIBTARGET_64)
|
|
$(CHMOD) $(LIBTARGET_64)
|
|
|
classes.made: $(JAVASRCS)
|
classes.made: $(JAVASRCS)
|
$(JAVAC) $(JAVASRCS)
|
$(JAVAC) $(JAVASRCS)
|
echo > classes.made
|
echo > classes.made
|
|
|
doc:
|
doc:
|
javadoc ch.ntb.usb -d ../docs/libusbJava
|
javadoc ch.ntb.usb -d ../docs/libusbJava
|
|
|
install2: all
|
install2: all
|
$(INSTALLDIR) ../libusbJava/ch/ntb/usb/logger
|
$(INSTALLDIR) ../libusbJava/ch/ntb/usb/logger
|
$(INSTALLFILE) $(LIBTARGET_SH) ../libusbJava
|
$(INSTALLFILE) $(LIBTARGET_SH) ../libusbJava
|
$(INSTALLFILE) $(LIBTARGET_ST) ../libusbJava
|
$(INSTALLFILE) $(LIBTARGET_ST) ../libusbJava
|
|
$(INSTALLFILE) $(LIBTARGET_64) ../libusbJava
|
$(INSTALLFILE) ch/ntb/usb/*.class ../libusbJava/ch/ntb/usb
|
$(INSTALLFILE) ch/ntb/usb/*.class ../libusbJava/ch/ntb/usb
|
$(INSTALLFILE) ch/ntb/usb/logger/*.class ../libusbJava/ch/ntb/usb/logger
|
$(INSTALLFILE) ch/ntb/usb/logger/*.class ../libusbJava/ch/ntb/usb/logger
|
|
|
clean:
|
clean:
|
$(RM) *.o
|
|
|
|
distclean:
|
distclean:
|
$(RM) $(LIBTARGET_SH) $(LIBTARGET_ST) ch/ntb/usb/*.class ch/ntb/usb/logger/*.class classes.made
|
$(RM) *.o $(LIBTARGET_SH) $(LIBTARGET_ST) $(LIBTARGET_64) libusbJava*.dll ch/ntb/usb/*.class ch/ntb/usb/logger/*.class classes.made
|
|
|