Testing out the PPD42 Air Quality Sensor, with an MSP430 Launchpad and graphing the data with GNUplot.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

230 lines
9.2 KiB

#-------------------------------------------------------------------------
# rxtx is a native interface to serial ports in java.
# Copyright 1997-2004 by Trent Jarvi taj@www.linux.org.uk.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#-------------------------------------------------------------------------
# This Makefile works on windows 98/NT with mingw32 in a DOS shell
# One catch. We cant figure out how to generate .def files with default
# DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging
# C functions.
# mingw build tools are used
# PATH=c:\mingw\bin;c:\jdk118\bin;%PATH%
# mingw32 version 1.0.1-20010726
# jdk was 1.1.8
# java.sun.com
######################
# user defined variables
######################
# path to the source code (directory with SerialImp.c) Unix style path
SRC=../src
# and the dos path
DOSSRC=..\\\src
# path to the jdk directory that has include, bin, lib, ... Unix style path
JDKHOME=C:/jdk13
#path to mingw32
MINGHOME="D:/mingw"
# path to install RXTXcomm.jar DOS style path
COMMINSTALL="C:\jdk13\lib"
# path to install the shared libraries DOS style path
LIBINSTALL="C:\jdk13\bin"
# path to the mingw32 libraries (directory with libmingw32.a) DOS style path
LIBDIR="c:\cygwin\lib\mingw"
######################
# End of user defined variables
######################
######################
# Tools
######################
AS=as
CC=gcc
LD=ld
DLLTOOL=dlltool
# this looks like a nice tool but I was not able to get symbols in the dll.
DLLWRAP=dllwrap
CLASSPATH=-classpath ".;C:\jdk13\lib\RXTXcomm.jar;c:\BlackBox.jar;c:\jdk13\lib\classes.zip"
JAVAH=javah $(CLASSPATH)
JAR=jar
JAVAC=javac $(CLASSPATH)
######################
# Tool Flags
######################
CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall
CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall
#CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS
INCLUDE= -I c:\matlab6p5/extern/include/ -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE)
JAVAHFLAGS= -jni -d include
LIBS=-L . -L $(LIBDIR) -LC:/tmp/rxtx5/build -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll
# -lmex
# path to the java native interface headers (directory with jni.h)
JDKINCLUDE=$(JDKHOME)/include
MINGINCLUDE=$(MINGHOME)/include
JAVAFILES = $(wildcard $(SRC)/*.java)
CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc)
TARGETLIBS= rxtxSerial.dll rxtxParallel.dll
#TARGETLIBS= rxtxSerial.dll rxtxParallel.dll rxtxZystem.dll
DLLOBJECTS= fixup.o SerialImp.o termios.o init.o fuserImp.o
PARALLELOBJECTS= ParallelImp.o termios.o init.o
all: $(TARGETLIBS) # rebuild rebuild will force everything to be built.
rebuild:
rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* * *.O.o *.O gnutimestamp
include:
mkdir include
gnu:
mkdir gnu
mkdir gnu\\\io
# yayaya We should have put the files in gnu.io to start with
gnutimestamp: $(JAVAFILES) $(CFILES) include gnu
xcopy /Y $(DOSSRC)\\*.* gnu\\io\\
echo > gnutimestamp
# FIXME make 3.79.1 behaves really strage if we use %.o rules.
init.o:
$(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o
fixup.o:
$(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o
#ZystemImp.o: include/config.h
# $(CC) $(CFLAGS_CYGWIN) -c $(SRC)/ZystemImp.c -o ZystemImp.o
SerialImp.o: include/config.h
$(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o
fuserImp.o:
$(CC) $(CFLAGS) -c $(SRC)/fuserImp.c -o fuserImp.o
termios.o:
$(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o
ParallelImp.o: include/config.h
$(CC) $(CFLAGS) -c $(SRC)/$*.c -o ParallelImp.o
# This file is a pain in the rear to generate. If your looking at this you
# need to install cygwin.
#$(SRC)/Zystem.def: $(DLLOBJECTS) ZystemImp.o
#$(LD) --base-file Zystem.base --dll -o rxtxZystem.dll $(DLLOBJECTS) ZystemImp.o _divdi3.o $(LIBS) -lcygwin -e _dll_entry@12
#xcopy /Y $(DOSSRC)\\Zystem.def gnu\\io\\
$(SRC)/Serial.def: $(DLLOBJECTS)
$(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12
xcopy /Y $(DOSSRC)\\Serial.def gnu\\io\\
# echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def
$(SRC)/Parallel.def: $(PARALLELOBJECTS)
$(LD) --base-file Parallel.base --dll -o rxtxParallel.dll $(PARALLELOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12
xcopy $(DOSSRC)\\Parallel.def gnu\\io\\
# echo EXPORTS >$(SRC)/Parallel.def;for i in `nm rxtxParallel.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Parallel.def
rxtxZystem.dll: RXTXcomm.jar $(DLLOBJECTS) #ZystemImp.o $(SRC)/Zystem.def
gcc -c -DBUILDING_DLL=1 -D_DLL=1 -I. -Ic:/jdk13/include -Ic:/jdk13/include/win32 -Wall -O2 -D __int64="long long" -o ZystemImp.o $(SRC)/ZystemImp.c
dllwrap --verbose --no-default-excludes --export-all-symbols --output-exp Zystem.exp --output-def Zystem.def --add-stdcall-alias --driver-name gcc -o rxtxZystem.dll ZystemImp.o -Wl,-e,__cygwin_noncygwin_dll_entry@12 -s
#rxtxZystem.dll: RXTXcomm.jar $(DLLOBJECTS) ZystemImp.o $(SRC)/Zystem.def
#$(LD) --base-file Zystem.base --dll -o rxtxZystem.dll $(DLLOBJECTS) \
#ZystemImp.o _divdi3.o $(LIBS) -lcygwin -e _dll_entry@12
#$(DLLTOOL) --as=$(AS) --dllname rxtxZystem.dll --def $(SRC)/Zystem.def \
#--base-file Zystem.base --output-exp Zystem.exp
#$(LD) --base-file Zystem.base Zystem.exp -dll -o rxtxZystem.dll \
#$(DLLOBJECTS) ZystemImp.o _divdi3.o $(LIBS) -lcygwin -e _dll_entry@12
#$(DLLTOOL) --as=$(AS) --dllname rxtxZystem.dll --def $(SRC)/Zystem.def \
#--base-file Zystem.base --output-exp Zystem.exp
#$(LD) --base-file Zystem.base Zystem.exp -dll -o rxtxZystem.dll \
#$(DLLOBJECTS) ZystemImp.o _divdi3.o $(LIBS) -lcygwin -e _dll_entry@12
rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def
$(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \
$(LIBS) -lmingw32 -e _dll_entry@12
$(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \
--base-file Serial.base --output-exp Serial.exp
$(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \
$(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12
$(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \
--base-file Serial.base --output-exp Serial.exp
$(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \
$(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12
#
# This should replace the mess above if it worked.
# nm shows no symbols in the dll produced. The old stuff above works ok.
# $(DLLWRAP) --output-def $*.def --output-exp $*.exp \
# --add-stdcall-alias --driver-name gcc -mwindows \
# --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s
# -mno-cygwin
rxtxParallel.dll: $(PARALLELOBJECTS)
$(LD) --base-file Parallel.base --dll -o rxtxParallel.dll $(PARALLELOBJECTS) \
$(LIBS) -lmingw32 -e _dll_entry@12
$(DLLTOOL) --as=$(AS) --dllname rxtxParallel.dll --def $(SRC)/Parallel.def \
--base-file Parallel.base --output-exp Parallel.exp
$(LD) --base-file Parallel.base Parallel.exp -dll -o rxtxParallel.dll \
$(PARALLELOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12
$(DLLTOOL) --as=$(AS) --dllname rxtxParallel.dll --def $(SRC)/Parallel.def \
--base-file Parallel.base --output-exp Parallel.exp
$(LD) --base-file Parallel.base Parallel.exp -dll -o rxtxParallel.dll \
$(PARALLELOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12
RXTXcomm.jar: gnutimestamp
$(JAVAC) gnu\\io\\*.java
$(JAR) -cf RXTXcomm.jar gnu\\io\\*.class
$(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java))
include/config.h: gnutimestamp
echo "#define HAVE_FCNTL_H 1" > include\\\config.h
echo "#define HAVE_SIGNAL_H 1" >> include\\\config.h
echo "#define HAVE_SYS_FCNTL_H 1" >> include\\\config.h
echo "#define HAVE_SYS_FILE_H 1" >> include\\\config.h
echo "#undef HAVE_SYS_SIGNAL_H" >> include\\\config.h
echo "#undef HAVE_TERMIOS_H" >> include\\\config.h
install: all
xcopy RXTXcomm.jar $(COMMINSTALL)
xcopy RXTXcomm.jar "e:\matlab~1\java\jarext\commapi\win32"
xcopy $(TARGETLIBS) $(LIBINSTALL)
xcopy $(TARGETLIBS) "e:\matlab~1\bin\win32"
uninstall:
del $(COMMINSTALL)\\\RXTXcomm.jar
del $(LIBINSTALL)\\\$(TARGETLIBS)
clean:
deltree gnu\\\io\\\*.*
deltree include
del Serial.* gnutimestamp *.o *.O RXTXcomm.jar rxtxSerial.*