altos/easymega-v2.0: Change binary to easymega-v2.0 instead of easymega-v1.0
[fw/altos] / libaltos / Makefile.am
index b5ab1ddb0d87e573679ecd57ae1c1190cb3fea7a..69fe7a5716a96d002eb94cb4854dc7f0aeb6d4b2 100644 (file)
@@ -1,22 +1,64 @@
 JAVAC=javac
-AM_CFLAGS=-DLINUX -DPOSIX_TTY -I$(JVM_INCLUDE)
-AM_JAVACFLAGS=-encoding UTF-8
+AM_CFLAGS=-DLINUX -DPOSIX_TTY -I$(JVM_INCLUDE) -I$(JVM_INCLUDE)/linux
+AM_JAVACFLAGS=-target 1.6 -encoding UTF-8 -Xlint:deprecation -source 6
 
 altoslibdir=$(libdir)/altos
 
 altoslib_LTLIBRARIES=libaltos.la
-
-libaltos_la_LDFLAGS = -version-info 1:0:1
+libaltos_la_LDFLAGS=-version-info 1:0:1 -Wl,-znoexecstack
 
 libaltos_la_SOURCES=\
-       libaltos.c \
+       libaltos_common.c \
+       libaltos_posix.c \
+       libaltos_linux.c \
+       libaltos_wrap.c \
+       libaltos.h \
+       libaltos_posix.h \
+       libaltos_private.h
+
+WINDOWS_SRC=\
+       libaltos_common.c\
+       libaltos_windows.c\
        libaltos_wrap.c
 
-noinst_PROGRAMS=cjnitest
+WINDOWS_H=\
+       libaltos.h
+
+noinst_PROGRAMS=cjnitest btletest
 
+cjnitest_SOURCES=cjnitest.c
 cjnitest_LDADD=libaltos.la
 
-LIBS=-lbluetooth
+btletest_SOURCES=btletest.c
+
+btletest_LDADD=-lbluetooth
+
+if MULTI_ARCH
+altoslib_LTLIBRARIES+=libaltos32.la libaltos64.la
+
+libaltos32_la_LDFLAGS=$(libaltos_la_LDFLAGS)
+libaltos64_la_LDFLAGS=$(libaltos_la_LDFLAGS)
+
+libaltos32_la_CFLAGS=-m32 $(AM_CFLAGS)
+libaltos64_la_CFLAGS=-m64 $(AM_CFLAGS)
+
+libaltos32_la_SOURCES=$(libaltos_la_SOURCES)
+libaltos64_la_SOURCES=$(libaltos_la_SOURCES)
+
+noinst_PROGRAMS+=cjnitest32 cjnitest64
+
+cjnitest32_CFLAGS=-m32
+cjnitest64_CFLAGS=-m64
+
+cjnitest32_SOURCES=$(cjnitest_SOURCES)
+cjnitest64_SOURCES=$(cjnitest_SOURCES)
+
+cjnitest32_LDADD=libaltos32.la
+cjnitest64_LDADD=libaltos64.la
+
+endif
+
+LIBS=-ldl
 
 HFILES=libaltos.h
 
@@ -39,16 +81,16 @@ classlibaltos.stamp: $(SWIG_FILE)
 
 MINGCC32=i686-w64-mingw32-gcc
 MINGCC64=x86_64-w64-mingw32-gcc
-MINGFLAGS=-Wall -DWINDOWS -DBUILD_DLL -I$(JVM_INCLUDE)
-MINGLIBS=-lsetupapi
+MINGFLAGS=-Wall -Wextra -DWINDOWS -DBUILD_DLL -mconsole -I$(JVM_INCLUDE) -I$(JVM_INCLUDE)/linux
+MINGLIBS=-lsetupapi -lws2_32
 
-fat: altos.dll altos64.dll
+fat: all altos.dll altos64.dll
 
-altos.dll: $(libaltos_la_SOURCES)
-       $(MINGCC32) -o $@ $(MINGFLAGS) -shared $(libaltos_la_SOURCES) $(MINGLIBS)
+altos.dll: $(WINDOWS_SRC) $(WINDOWS_H)
+       $(MINGCC32) -o $@ $(MINGFLAGS) -shared $(WINDOWS_SRC) $(MINGLIBS)
 
-altos64.dll: $(libaltos_la_SOURCES)
-       $(MINGCC64) -o $@ $(MINGFLAGS) -shared $(libaltos_la_SOURCES) $(MINGLIBS)
+altos64.dll: $(WINDOWS_SRC) $(WINDOWS_H)
+       $(MINGCC64) -o $@ $(MINGFLAGS) -shared $(WINDOWS_SRC) $(MINGLIBS)
 
 clean-local:
        -rm -rf libaltosJNI *.class *.java classlibaltos.stamp $(SWIG_FILE) libaltos_wrap.c altos.dll altos64.dll