OpenCores
URL https://opencores.org/ocsvn/usb_fpga_2_13/usb_fpga_2_13/trunk

Subversion Repositories usb_fpga_2_13

[/] [usb_fpga_2_13/] [trunk/] [libusbJava-src/] [Makefile] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 ZTEX
# Makefile for libusbJava, a Java libusb wrapper
2
# Copyright (C) 2009-2014 ZTEX GmbH
3
# http://www.ztex.de
4
#
5
# This Makefile ia a part of the reorganized version of the libusbJava source tree
6
# with proper makefiles. (SVN version of Apr. 6, 2009).
7
#
8
# Please visit http://libusbjava.sourceforge.net for more information about the
9
# original project.
10
 
11
#########################
12
# Configuration section #
13
#########################
14
 
15
# $(JAVAPREFIX)/include should contain jni.h
16
JAVAPREFIX=/usr/local/java
17
 
18
#PREFIX  base directory for installing
19
#default: /usr/local for OS=UNIX and c:\usr else
20
#e.g. PREFIX=/usr
21
 
22
#JAVADIR  where to install jar's
23
#default: $(PREFIX)/share/java
24
 
25
#LIBDIR  where to install jar's
26
#default: $(PREFIX)/lib
27
 
28
###############################
29
# this should not be modified #
30
###############################
31
GCC=gcc
32
STRIP=strip -S
33
CHMOD=chmod -x
34
JAVAC=javac
35
RM=rm -f
36
INSTALL=install
37
INSTALLDIR=$(INSTALL) -d
38
INSTALLEXE=$(INSTALL) -m 0755
39
INSTALLFILE=$(INSTALL) -m 0644
40
OBJEXTRADEPS=LibusbJava.h
41
LIBSRCS=LibusbJava.o
42
LIBSRCS64=LibusbJava.c
43
JAVASRCS=$(wildcard ch/ntb/usb/*.java) $(wildcard ch/ntb/usb/logger/*.java)
44
 
45
LIBTARGET=libusbJava.so
46
LIBTARGET_SH=libusbJavaSh.so
47
LIBTARGET_ST=libusbJavaSt.so
48
LIBTARGET_64=libusbJava64.so
49
LIBLIBS=-lusb
50
LIBINCS=-I $(JAVAPREFIX)/include -I $(JAVAPREFIX)/include/linux
51
 
52
ifndef PREFIX
53
  PREFIX=/usr/local
54
endif
55
 
56
ifndef JAVADIR
57
  JAVADIR=$(PREFIX)/share/java
58
endif
59
 
60
ifndef LIBDIR
61
  LIBDIR=$(PREFIX)/lib
62
endif
63
 
64
.PHONY: all native-all libs classes install install2 clean distclean
65
 
66
all: libs classes
67
 
68
native-all: $(LIBTARGET) classes
69
 
70
classes: classes.made
71
 
72
libs: $(LIBTARGET_SH) $(LIBTARGET_ST) $(LIBTARGET_64)
73
 
74
%.o: %.c LibusbJava.h
75
        $(GCC) -fPIC -g -c -std=c99 -Wall -Wno-pointer-to-int-cast $(LIBINCS) $< -o$@
76
 
77
$(LIBTARGET_ST): $(LIBSRCS)
78
#       $(GCC) -shared -Wl,-static,-soname,$(LIBTARGET_ST) $(LIBINCS) -static $(LIBSRCS) -o $(LIBTARGET_ST) $(LIBLIBS)
79
        $(GCC) -shared -Wl,-soname,$(LIBTARGET_ST),-static $(LIBINCS) $(LIBSRCS) -static -o $(LIBTARGET_ST) $(LIBLIBS)
80
        $(STRIP) $(LIBTARGET_ST)
81
        $(CHMOD) $(LIBTARGET_ST)
82
 
83
$(LIBTARGET_SH): $(LIBSRCS)
84
        $(GCC) -fPIC -shared -Wl,-soname,$(LIBTARGET_SH) $(LIBINCS) $(LIBSRCS) -o $(LIBTARGET_SH) $(LIBLIBS)
85
        $(STRIP) $(LIBTARGET_SH)
86
        $(CHMOD) $(LIBTARGET_SH)
87
 
88
$(LIBTARGET): $(LIBSRCS)
89
        $(GCC) -fPIC -shared -Wl,-soname,$(LIBTARGET) $(LIBINCS) $(LIBSRCS) -o $(LIBTARGET) $(LIBLIBS)
90
        $(STRIP) $(LIBTARGET)
91
        $(CHMOD) $(LIBTARGET)
92
 
93
$(LIBTARGET_64): $(LIBSRCS64)
94
        $(GCC) -fPIC -m64 -shared -std=c99 -Wall -Wno-pointer-to-int-cast -Wl,-soname,$(LIBTARGET_64) $(LIBINCS) $(LIBSRCS64) $(LIBLIBS) -o $(LIBTARGET_64)
95
        $(STRIP) $(LIBTARGET_64)
96
        $(CHMOD) $(LIBTARGET_64)
97
 
98
classes.made: $(JAVASRCS)
99
        $(JAVAC) $(JAVASRCS)
100
        echo > classes.made
101
 
102
install: native-all
103
#       $(INSTALLDIR) $(JAVADIR)
104
#       jar cf $(JAVADIR)/libusbJava.jar ch/ntb/usb/*.class
105
        $(INSTALLDIR) $(JAVADIR)/ch/ntb/usb
106
        $(INSTALLFILE) ch/ntb/usb/*.class $(JAVADIR)/ch/ntb/usb
107
        $(INSTALLDIR) $(LIBDIR)
108
        $(INSTALLFILE) $(LIBTARGET) $(LIBDIR)
109
 
110
doc:
111
        javadoc ch.ntb.usb -d ../docs/libusbJava ch/ntb/usb/logger/*.class
112
 
113
install2: all
114
        $(INSTALLDIR) ../libusbJava/ch/ntb/usb/logger
115
        $(INSTALLFILE) $(LIBTARGET_SH) ../libusbJava
116
        $(INSTALLFILE) $(LIBTARGET_ST) ../libusbJava
117
        $(INSTALLFILE) $(LIBTARGET_64) ../libusbJava
118
        $(INSTALLFILE) ch/ntb/usb/*.class ../libusbJava/ch/ntb/usb
119
        $(INSTALLFILE) ch/ntb/usb/logger/*.class ../libusbJava/ch/ntb/usb/logger
120
 
121
clean:
122
 
123
distclean:
124
        $(RM) *.o $(LIBTARGET) $(LIBTARGET_SH) $(LIBTARGET_ST) $(LIBTARGET_64) libusbJava*.dll ch/ntb/usb/*.class ch/ntb/usb/logger/*.class classes.made

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.