# ---- # The original author is Eugene Melekhov # Object Tools http://www.object-tools.com # Contributed to rxtx Wed Sep 8 2004 # Reportedly builds rxtxSerial.dll but rxtxParallel.dll is untested. # Accepted as is by taj@www.linux.org.uk # --- # This is the first quick and durty attempt to compile rxtx for Windows # using Microsoft Visual C compiler. I've done this mostly to debug rxtx # with Microsoft debugger # # This makefile was made for MSVC 6.0. I'm afraid that debug info command # line switches like /Z7 -debugtype:CV -pdb:NONE won't work with # MSVC 7.0 or above. # # The serial port library seems to be working, execept the hangup while # writing to unpluged serial port. BTW the mingw32 library behavior # is the same. # # Parallel port library compiles, but I have not used it # # To build rxtx library execute commands like the following # mkdir build # copy Makefile.msc build\Makefile # cd build # nmake # # To build only serial/parallel library use # nmake serial # or # nmake parallel # # If you wish to make the version with debug info then do something # like this # nmake serial DEBUG_INFO=1 # # 'nmake clean' will remove all object dll and other working files # # Please make sure that variable JAVA_HOME points to the place where # your Java SDK is located # JAVA_HOME = D:\j2sdk1.4.2_04 JAVAC = $(JAVA_HOME)\bin\javac JAR = $(JAVA_HOME)\bin\jar JAVAH = $(JAVA_HOME)\bin\javah SRC=..\src CFLAGS= -nologo -I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32 -I$(SRC) -I. -DWIN32 LINK_FLAGS = -nologo -map -incremental:no !IFDEF DEBUG_INFO CFLAGS = -Z7 -Oi -Oy- $(CFLAGS) CFLAGS_DLL = $(CFLAGS_DLL) -GZ LINK_FLAGS = $(LINK_FLAGS) -debug -debugtype:CV -pdb:NONE DEBUG_INFO_FLAG = DEBUG_INFO^=1 !ELSE CFLAGS = $(CFLAGS) -Ox !ENDIF OBJS=init.obj SerialImp.obj termios.obj fuserImp.obj PARALLEL_OBJS= ParallelImp.obj termios.obj init.obj all: serial parallel serial: RXTXcomm.jar rxtxSerial.dll parallel: RXTXcomm.jar rxtxParallel.dll init.obj: config.h $(CC) $(CFLAGS) /TP -c $(SRC)\init.cc fixup.obj: config.h $(CC) $(CFLAGS) -c $(SRC)\fixup.c fuserImp.obj: config.h gnu_io_CommPortIdentifier.h $(CC) $(CFLAGS) -c $(SRC)/fuserImp.c termios.obj: $(CC) $(CFLAGS) -c $(SRC)/termios.c SerialImp.obj: config.h gnu_io_RXTXPort.h $(CC) $(CFLAGS) -c $(SRC)\SerialImp.c ParallelImp.obj: config.h gnu_io_LPRPort.h $(CC) $(CFLAGS) -c $(SRC)\ParallelImp.c rxtxSerial.dll: $(OBJS) link -dll -out:$@ $** $(LINK_FLAGS) rxtxParallel.dll: $(PARALLEL_OBJS) link -dll -out:$@ $** $(LINK_FLAGS) gnu_io_RXTXPort.h gnu_io_CommPortIdentifier.h gnu_io_LPRPort.h: RXTXcomm.jar $(JAVAH) -jni gnu.io.RXTXPort gnu.io.CommPortIdentifier gnu.io.LPRPort RXTXcomm.jar: $(JAVAC) -d . ..\src\*.java $(JAR) -cf RXTXcomm.jar gnu config.h: Makefile echo #define HAVE_FCNTL_H >> config.h echo #define HAVE_SIGNAL_H >> config.h echo #undef HAVE_SYS_FCNTL_H >> config.h echo #undef HAVE_SYS_FILE_H >> config.h echo #undef HAVE_SYS_SIGNAL_H >> config.h echo #undef HAVE_TERMIOS_H >> config.h echo #undef HAVE_SYS_TIME_H >> config.h clean: -rmdir /s /q gnu -del *.obj *.h RXTXcomm.jar rxtxSerial.* rxtxParallel.*