3e249b757c1ab9c218576ae383a4e75082045b05
[libfirm] / firmjni / Makefile.in
1
2 # $Id$
3
4 top_srcdir := @top_srcdir@
5 srcdir = @srcdir@
6 topdir = ..
7 subdir = firmjni
8
9 libdir = @libdir@      # where to find libfirm.a and where to put libfirmjni.so
10
11 LIBNAME = libfirmjni.so
12
13 .PHONY: default all clean realclean depend
14
15 MEMBERS = Firm.m Firm.m Firm_common.m Dbginfo.m Ident.m Tv.m            \
16         Type.m Entity.m Type_or_entity.m Tpop.m Mangle.m                \
17         Irprog.m Irgraph.m Irnode.m Irmode.m Irop.m Ircons.m Ircgcons.m \
18         Irflag.m Irvrfy.m Irdump.m Iropt.m Irgopt.m Ircgopt.m           \
19         Irouts.m Irdom.m Irloop.m Cgana.m                               \
20         Irgwalk.m Irgmod.m Typewalk.m Typegmod.m
21
22 OFILES  = $(MEMBERS:.m=.o)
23 HFILES  = $(MEMBERS:.m=.h)
24
25 all:    jni
26
27 %.class: %.java
28         javac $<
29
30 %.h:    %.class
31         javah $(<:.class=)
32
33 %.o:    %.c %.h
34         gcc $(CPPFLAGS) -c $< -o $@
35
36 jni:    $(HFILES) $(OFILES) $(libdir)libfirm.a
37         gcc  -shared -fPIC -o $(LIBNAME) *.o -L$(libdir) -lfirm
38
39 install:
40         cp libfirmjni.so $(libdir)
41 #       cp *.java @javadir@
42
43 clean:
44         rm -rf sources *.c *.h *.o
45
46 realclean: clean
47         rm -f *~ libfirmjni.so *.vcg *.java *.class