# Makefile for libusbJava, a Java libusb wrapper
|
# Makefile for libusbJava, a Java libusb wrapper
|
# Copyright (C) 2009-2011 ZTEX GmbH
|
# Copyright (C) 2009-2014 ZTEX GmbH
|
# 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
|
|
|
#PREFIX base directory for installing
|
#PREFIX base directory for installing
|
#default: /usr/local for OS=UNIX and c:\usr else
|
#default: /usr/local for OS=UNIX and c:\usr else
|
#e.g. PREFIX=/usr
|
#e.g. PREFIX=/usr
|
|
|
#JAVADIR where to install jar's
|
#JAVADIR where to install jar's
|
#default: $(PREFIX)/share/java
|
#default: $(PREFIX)/share/java
|
|
|
#LIBDIR where to install jar's
|
#LIBDIR where to install jar's
|
#default: $(PREFIX)/lib
|
#default: $(PREFIX)/lib
|
|
|
###############################
|
###############################
|
# this should not be modified #
|
# this should not be modified #
|
###############################
|
###############################
|
GCC=gcc
|
GCC=gcc
|
STRIP=strip -S
|
STRIP=strip -S
|
CHMOD=chmod -x
|
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
|
OBJEXTRADEPS=LibusbJava.h
|
OBJEXTRADEPS=LibusbJava.h
|
LIBSRCS=LibusbJava.o
|
LIBSRCS=LibusbJava.o
|
LIBSRCS64=LibusbJava.c
|
LIBSRCS64=LibusbJava.c
|
JAVASRCS=$(wildcard ch/ntb/usb/*.java) $(wildcard ch/ntb/usb/logger/*.java)
|
JAVASRCS=$(wildcard ch/ntb/usb/*.java) $(wildcard ch/ntb/usb/logger/*.java)
|
|
|
LIBTARGET=libusbJava.so
|
LIBTARGET=libusbJava.so
|
LIBTARGET_SH=libusbJavaSh.so
|
LIBTARGET_SH=libusbJavaSh.so
|
LIBTARGET_ST=libusbJavaSt.so
|
LIBTARGET_ST=libusbJavaSt.so
|
LIBTARGET_64=libusbJava64.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
|
|
|
ifndef PREFIX
|
ifndef PREFIX
|
PREFIX=/usr/local
|
PREFIX=/usr/local
|
endif
|
endif
|
|
|
ifndef JAVADIR
|
ifndef JAVADIR
|
JAVADIR=$(PREFIX)/share/java
|
JAVADIR=$(PREFIX)/share/java
|
endif
|
endif
|
|
|
ifndef LIBDIR
|
ifndef LIBDIR
|
LIBDIR=$(PREFIX)/lib
|
LIBDIR=$(PREFIX)/lib
|
endif
|
endif
|
|
|
.PHONY: all native-all libs classes install install2 clean distclean
|
.PHONY: all native-all libs classes install install2 clean distclean
|
|
|
all: libs classes
|
all: libs classes
|
|
|
native-all: $(LIBTARGET) classes
|
native-all: $(LIBTARGET) classes
|
|
|
classes: classes.made
|
classes: classes.made
|
|
|
libs: $(LIBTARGET_SH) $(LIBTARGET_ST) $(LIBTARGET_64)
|
libs: $(LIBTARGET_SH) $(LIBTARGET_ST) $(LIBTARGET_64)
|
|
|
%.o: %.c LibusbJava.h
|
%.o: %.c LibusbJava.h
|
$(GCC) -fPIC -g -c -std=c99 -Wall -Wno-pointer-to-int-cast $(LIBINCS) $< -o$@
|
$(GCC) -fPIC -g -c -std=c99 -Wall -Wno-pointer-to-int-cast $(LIBINCS) $< -o$@
|
|
|
$(LIBTARGET_ST): $(LIBSRCS)
|
$(LIBTARGET_ST): $(LIBSRCS)
|
# $(GCC) -shared -Wl,-static,-soname,$(LIBTARGET_ST) $(LIBINCS) -static $(LIBSRCS) -o $(LIBTARGET_ST) $(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)
|
$(GCC) -shared -Wl,-soname,$(LIBTARGET_ST),-static $(LIBINCS) $(LIBSRCS) -static -o $(LIBTARGET_ST) $(LIBLIBS)
|
$(STRIP) $(LIBTARGET_ST)
|
$(STRIP) $(LIBTARGET_ST)
|
$(CHMOD) $(LIBTARGET_ST)
|
$(CHMOD) $(LIBTARGET_ST)
|
|
|
$(LIBTARGET_SH): $(LIBSRCS)
|
$(LIBTARGET_SH): $(LIBSRCS)
|
$(GCC) -fPIC -shared -Wl,-soname,$(LIBTARGET_SH) $(LIBINCS) $(LIBSRCS) -o $(LIBTARGET_SH) $(LIBLIBS)
|
$(GCC) -fPIC -shared -Wl,-soname,$(LIBTARGET_SH) $(LIBINCS) $(LIBSRCS) -o $(LIBTARGET_SH) $(LIBLIBS)
|
$(STRIP) $(LIBTARGET_SH)
|
$(STRIP) $(LIBTARGET_SH)
|
$(CHMOD) $(LIBTARGET_SH)
|
$(CHMOD) $(LIBTARGET_SH)
|
|
|
$(LIBTARGET): $(LIBSRCS)
|
$(LIBTARGET): $(LIBSRCS)
|
$(GCC) -fPIC -shared -Wl,-soname,$(LIBTARGET) $(LIBINCS) $(LIBSRCS) -o $(LIBTARGET) $(LIBLIBS)
|
$(GCC) -fPIC -shared -Wl,-soname,$(LIBTARGET) $(LIBINCS) $(LIBSRCS) -o $(LIBTARGET) $(LIBLIBS)
|
$(STRIP) $(LIBTARGET)
|
$(STRIP) $(LIBTARGET)
|
$(CHMOD) $(LIBTARGET)
|
$(CHMOD) $(LIBTARGET)
|
|
|
$(LIBTARGET_64): $(LIBSRCS64)
|
$(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)
|
$(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)
|
$(STRIP) $(LIBTARGET_64)
|
$(CHMOD) $(LIBTARGET_64)
|
$(CHMOD) $(LIBTARGET_64)
|
|
|
classes.made: $(JAVASRCS)
|
classes.made: $(JAVASRCS)
|
$(JAVAC) $(JAVASRCS)
|
$(JAVAC) $(JAVASRCS)
|
echo > classes.made
|
echo > classes.made
|
|
|
install: native-all
|
install: native-all
|
# $(INSTALLDIR) $(JAVADIR)
|
# $(INSTALLDIR) $(JAVADIR)
|
# jar cf $(JAVADIR)/libusbJava.jar ch/ntb/usb/*.class
|
# jar cf $(JAVADIR)/libusbJava.jar ch/ntb/usb/*.class
|
$(INSTALLDIR) $(JAVADIR)/ch/ntb/usb
|
$(INSTALLDIR) $(JAVADIR)/ch/ntb/usb
|
$(INSTALLFILE) ch/ntb/usb/*.class $(JAVADIR)/ch/ntb/usb
|
$(INSTALLFILE) ch/ntb/usb/*.class $(JAVADIR)/ch/ntb/usb
|
$(INSTALLDIR) $(LIBDIR)
|
$(INSTALLDIR) $(LIBDIR)
|
$(INSTALLFILE) $(LIBTARGET) $(LIBDIR)
|
$(INSTALLFILE) $(LIBTARGET) $(LIBDIR)
|
|
|
doc:
|
doc:
|
javadoc ch.ntb.usb -d ../docs/libusbJava ch/ntb/usb/logger/*.class
|
javadoc ch.ntb.usb -d ../docs/libusbJava ch/ntb/usb/logger/*.class
|
|
|
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) $(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:
|
|
|
distclean:
|
distclean:
|
$(RM) *.o $(LIBTARGET) $(LIBTARGET_SH) $(LIBTARGET_ST) $(LIBTARGET_64) libusbJava*.dll ch/ntb/usb/*.class ch/ntb/usb/logger/*.class classes.made
|
$(RM) *.o $(LIBTARGET) $(LIBTARGET_SH) $(LIBTARGET_ST) $(LIBTARGET_64) libusbJava*.dll ch/ntb/usb/*.class ch/ntb/usb/logger/*.class classes.made
|
|
|