libaltos: Link so with -znoexecstack flag
[fw/altos] / libaltos / Makefile.am
1 JAVAC=javac
2 AM_CFLAGS=-DLINUX -DPOSIX_TTY -I$(JVM_INCLUDE)
3 AM_JAVACFLAGS=-target 1.6 -encoding UTF-8 -Xlint:deprecation -source 6
4
5 altoslibdir=$(libdir)/altos
6
7 altoslib_LTLIBRARIES=libaltos.la
8 libaltos_la_LDFLAGS=-version-info 1:0:1 -Wl,-znoexecstack
9
10 libaltos_la_SOURCES=\
11         libaltos.c \
12         libaltos_wrap.c
13
14 noinst_PROGRAMS=cjnitest
15
16 cjnitest_SOURCES=cjnitest.c
17 cjnitest_LDADD=libaltos.la
18
19 if MULTI_ARCH
20 altoslib_LTLIBRARIES+=libaltos32.la libaltos64.la
21
22 libaltos32_la_LDFLAGS=$(libaltos_la_LDFLAGS)
23 libaltos64_la_LDFLAGS=$(libaltos_la_LDFLAGS)
24
25 libaltos32_la_CFLAGS=-m32 $(AM_CFLAGS)
26 libaltos64_la_CFLAGS=-m64 $(AM_CFLAGS)
27
28 libaltos32_la_SOURCES=$(libaltos_la_SOURCES)
29 libaltos64_la_SOURCES=$(libaltos_la_SOURCES)
30
31 noinst_PROGRAMS+=cjnitest32 cjnitest64
32
33 cjnitest32_CFLAGS=-m32
34 cjnitest64_CFLAGS=-m64
35
36 cjnitest32_SOURCES=$(cjnitest_SOURCES)
37 cjnitest64_SOURCES=$(cjnitest_SOURCES)
38
39 cjnitest32_LDADD=libaltos32.la
40 cjnitest64_LDADD=libaltos64.la
41
42 endif
43
44
45 LIBS=-lbluetooth
46
47 HFILES=libaltos.h
48
49 SWIG_FILE=libaltos.swig
50
51 CLASSDIR=libaltosJNI
52
53 $(SWIG_FILE): libaltos.i0 $(HFILES)
54         sed 's;//%;%;' libaltos.i0 $(HFILES) > $(SWIG_FILE)
55
56 all-local: classlibaltos.stamp
57
58 libaltos_wrap.c: classlibaltos.stamp
59
60 classlibaltos.stamp: $(SWIG_FILE)
61         swig -java -package libaltosJNI $(SWIG_FILE)
62         mkdir -p libaltosJNI
63         $(JAVAC) -d . $(AM_JAVACFLAGS) $(JAVACFLAGS) *.java && \
64         touch classlibaltos.stamp
65
66 MINGCC32=i686-w64-mingw32-gcc
67 MINGCC64=x86_64-w64-mingw32-gcc
68 MINGFLAGS=-Wall -DWINDOWS -DBUILD_DLL -I$(JVM_INCLUDE)
69 MINGLIBS=-lsetupapi
70
71 fat: all altos.dll altos64.dll
72
73 altos.dll: $(libaltos_la_SOURCES)
74         $(MINGCC32) -o $@ $(MINGFLAGS) -shared $(libaltos_la_SOURCES) $(MINGLIBS)
75
76 altos64.dll: $(libaltos_la_SOURCES)
77         $(MINGCC64) -o $@ $(MINGFLAGS) -shared $(libaltos_la_SOURCES) $(MINGLIBS)
78
79 clean-local:
80         -rm -rf libaltosJNI *.class *.java classlibaltos.stamp $(SWIG_FILE) libaltos_wrap.c altos.dll altos64.dll