# # "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 # (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a # aplicativos mainframe. Registro no INPI sob o nome G3270. # # Copyright (C) <2008> # # Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob # os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela # Free Software Foundation. # # Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER # GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO # A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para # obter mais detalhes. # # Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este # programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple # Place, Suite 330, Boston, MA, 02111-1307, USA # # Contatos: # # perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) # PACKAGE_NAME=@PACKAGE_NAME@ SOURCES=main.cc info.cc connect.cc getset.cc cursor.cc keyboard.cc actions.cc field.cc dialog.cc clipboard.cc PLUGIN_SRC=plugin.cc startstop.cc call.cc #---[ Paths ]------------------------------------------------------------------ prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ sbindir=@sbindir@ libdir=@libdir@ datadir=@datadir@ includedir=@includedir@ sysconfdir=@sysconfdir@ jnidir=@jnidir@ jvmjardir=@jvmjardir@ javadocdir=@javadocdir@ #---[ Tools ]------------------------------------------------------------------ CXX=@CXX@ MKDIR=@MKDIR_P@ INSTALL=@INSTALL@ INSTALL_DATA=@INSTALL_DATA@ INSTALL_PROGRAM=@INSTALL_PROGRAM@ JAVAC=@JAVAC@ JAVAH=@JAVAH@ JAR=@JAR@ JAVADOC=@JAVADOC@ JDK_HOME=@JDK_HOME@ JRE_HOME=@JRE_HOME@ JVMDIR=@JVMDIR@ #---[ Paths ]------------------------------------------------------------------ ROOTDIR ?= . OBJDIR ?= $(ROOTDIR)/.obj BINDIR ?= $(ROOTDIR)/.bin BINDBG ?= $(BINDIR)/Debug BINRLS ?= $(BINDIR)/Release OBJDBG ?= $(OBJDIR)/Debug OBJRLS ?= $(OBJDIR)/Release #---[ lib3270 common class ]--------------------------------------------------- DEBUG_CFLAGS=-DDEBUG=1 -g -Wall CLASSLIBDIR=../classlib include $(CLASSLIBDIR)/class.mak #---[ Build options ]---------------------------------------------------------- LIB3270_LIBS=@LIB3270_LIBS@ PW3270_LIBS=@PW3270_LIBS@ PLUGIN_CFLAGS=@CXXFLAGS@ -DPW3270_PLUGIN -Wno-deprecated-declarations @DLL_CFLAGS@ @JNI_CPPFLAGS@ -DJNIDIR="\"$(jnidir)\"" \ -DJARDIR="\"$(jvmjardir)\"" @GTK_CFLAGS@ @GTKMAC_CFLAGS@ \ @PW3270_CFLAGS@ @LIB3270_CFLAGS@ CXXFLAGS=@CFLAGS@ @CXXFLAGS@ @DLL_CFLAGS@ @JNI_CPPFLAGS@ @PW3270_CFLAGS@ PLUGIN_LIBS=@GTK_LIBS@ @GTKMAC_LIBS@ @INTL_LIBS@ @JVM_LIBS@ @PW3270_LIBS@ @LIB3270_LIBS@ #---[ Rules ]------------------------------------------------------------------ $(OBJDBG)/%.o: %.cc Makefile private.h jni3270.h @echo " CC `basename $@`" @mkdir -p `dirname $@` @$(CXX) -DDEBUG=1 $(CXXFLAGS) -o $@ -c $< $(OBJDBG)/j3270/%.o: %.cc Makefile private.h @echo " CC `basename $@`" @mkdir -p `dirname $@` @$(CXX) -DDEBUG=1 $(PLUGIN_CFLAGS) -o $@ -c $< $(OBJRLS)/%.o: %.cc Makefile private.h jni3270.h @echo " CC `basename $@`" @mkdir -p `dirname $@` @$(CXX) -DNDEBUG=1 $(CXXFLAGS) -o $@ -c $< $(OBJRLS)/j3270/%.o: %.cc Makefile private.h @echo " CC `basename $@`" @mkdir -p `dirname $@` @$(CXX) -DNDEBUG=1 $(PLUGIN_CFLAGS) -o $@ -c $< $(BINDIR)/java/%.class: \ %.java \ $(BINDIR)/java/pw3270/terminal.class @echo $< ... @mkdir -p `dirname $@` @$(JAVAC) -encoding utf-8 -cp $(BINDIR)/java -d $(BINDIR)/java $< $(BINDIR)/java/%.class: \ sample/%.java \ $(BINDIR)/java/pw3270/terminal.class @echo $< ... @mkdir -p `dirname $@` @$(JAVAC) -encoding utf-8 -cp $(BINDIR)/java -d $(BINDIR)/java $< $(BINDIR)/%.class: \ sample/%.java \ $(BINDIR)/java/pw3270/terminal.class @echo $< ... @mkdir -p `dirname $@` @$(JAVAC) -encoding utf-8 -cp $(BINDIR)/java -d $(BINDIR)/java $< %.class: \ sample/%.java \ $(BINDIR)/java/pw3270/terminal.class @echo $< ... @mkdir -p `dirname $@` @$(JAVAC) -encoding utf-8 -cp $(BINDIR)/java -d `dirname $@` $< $(BINDIR)/java/pw3270/%.class: \ %.java @echo $< ... @mkdir -p `dirname $@` @$(JAVAC) -encoding utf-8 -d $(BINDIR)/java $^ $(BINRLS)/$(PACKAGE_NAME).jar: \ $(BINDIR)/java/pw3270/terminal.class @echo $@ ... @mkdir -p `dirname $@` @$(JAR) -cvf "$@" -C "$(BINDIR)/java" "$(PACKAGE_NAME)" #---[ Release targets ]-------------------------------------------------------- all: \ @PACKAGE_NAME@-java-@PACKAGE_VERSION@.@PACKAGE_REVISION@.@jvm_arch@.zip Release: \ $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ \ $(BINDIR)/java/testprogram.class \ $(BINRLS)/plugins/j3270@DLLEXT@ zip: \ jni3270-@PACKAGE_VERSION@.@PACKAGE_REVISION@.@jvm_arch@.zip @PACKAGE_NAME@-java-@PACKAGE_VERSION@.@PACKAGE_REVISION@.@jvm_arch@.zip: \ $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ \ $(BINRLS)/plugins/j3270@DLLEXT@ \ $(BINRLS)/$(PACKAGE_NAME).jar \ javadoc @rm -f $@ @rm -fr jvm-exports @mkdir jvm-exports @cp $(BINRLS)/$(PACKAGE_NAME).jar jvm-exports/$(PACKAGE_NAME).jar @zip -9 -m -r $@ jvm-exports @rm -fr jvm-exports @rm -fr ui @mkdir ui @cp ../../ui/*java*.xml ui @zip -9 -m -r $@ ui @rm -fr ui @rm -fr plugins @mkdir plugins @cp $(BINRLS)/plugins/j3270@DLLEXT@ plugins @zip -9 -m -r $@ plugins @rm -fr plugins @zip -9 -j $@ \ $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ @zip -9 -r $@ \ javadoc sample/efglobe.java sample/popup.java jni3270-@PACKAGE_VERSION@.@PACKAGE_REVISION@.@jvm_arch@.zip: \ $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ \ $(BINRLS)/$(PACKAGE_NAME).jar \ testprogram.java \ javadoc \ Makefile @rm -f $@ @rm -fr jvm-exports @mkdir jvm-exports @cp $(BINRLS)/$(PACKAGE_NAME).jar jvm-exports/$(PACKAGE_NAME).jar @zip -9 -m -r $@ jvm-exports @rm -fr jvm-exports @rm -fr ui @mkdir ui @cp ../../ui/*java*.xml ui @zip -9 -m -r $@ ui @rm -fr ui @zip -9 -j $@ $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ @zip -9 -r $@ javadoc sample/efglobe.java sample/popup.java javadoc: terminal.java @$(JAVADOC) -encoding utf-8 -d $@ $^ $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@: \ $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC)@OBJEXT@) \ $(CLASS_RELEASE_OBJECTS) @echo " LD `basename $@`" @$(MKDIR) `dirname $@` @$(CXX) @SYSDLL_FLAGS@ $(LDFLAGS) -Wl,-soname,`basename $@` -o $@ $^ $(CLASS_LIBS) @INTL_LIBS@ $(BINRLS)/plugins/j3270@DLLEXT@: \ ../../.bin/Release@DLLDIR@/lib3270@DLLEXT@ \ $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJRLS)/j3270/$(SRC)@OBJEXT@) \ $(CLASS_RELEASE_OBJECTS) @echo " LD `basename $@`" @$(MKDIR) `dirname $@` @$(CXX) @SYSDLL_FLAGS@ \ -Wl,--rpath,$(jnidir) $(LDFLAGS) -Wl,-soname,`basename $@` \ -o $@ $^ \ $(CLASS_LIBS) \ $(PLUGIN_LIBS) \ -L$(BINRLS)@DLLDIR@ -ljni3270 ../../.bin/Release@DLLDIR@/lib3270@DLLEXT@: make -C ../.. .bin/Release@DLLDIR@/lib3270@DLLEXT@ #---[ Debug targets ]---------------------------------------------------------- Debug: $(BINDBG)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ \ $(BINDIR)/java/testprogram.class \ $(BINDBG)/plugins/j3270@DLLEXT@ $(BINDBG)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@: \ $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC)@OBJEXT@) \ $(CLASS_DEBUG_OBJECTS) @echo " LD `basename $@`" @$(MKDIR) `dirname $@` @$(CXX) @SYSDLL_FLAGS@ $(LDFLAGS) -Wl,-soname,`basename $@` -o $@ $^ $(CLASS_LIBS) @INTL_LIBS@ $(BINDBG)/plugins/j3270@DLLEXT@: \ $(BINDBG)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ \ $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/j3270/$(SRC)@OBJEXT@) \ $(CLASS_DEBUG_OBJECTS) @echo " LD `basename $@`" @$(MKDIR) `dirname $@` @$(CXX) @SYSDLL_FLAGS@ \ -Wl,--rpath,.bin/Debug@DLLDIR@ $(LDFLAGS) -Wl,-soname,`basename $@` \ -o $@ $^ \ $(CLASS_LIBS) \ $(PLUGIN_LIBS) \ -L$(BINDBG)@DLLDIR@ -ljni3270 run: \ $(BINDBG)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ \ $(BINDIR)/java/testprogram.class @LD_LIBRARY_PATH=../../.bin/Debug@DLLDIR@/ java -Djava.library.path=$(BINDBG)@DLLDIR@ -cp .bin/java/ testprogram #---[ Misc targets ]----------------------------------------------------------- install-plugin: \ $(BINRLS)/plugins/j3270@DLLEXT@ @$(MKDIR) $(DESTDIR)$(libdir)/$(PACKAGE_NAME)-plugins @$(INSTALL_PROGRAM) $(BINRLS)/plugins/j3270@DLLEXT@ $(DESTDIR)$(libdir)/$(PACKAGE_NAME)-plugins install-extension: \ $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ \ $(BINRLS)/$(PACKAGE_NAME).jar \ @$(MKDIR) $(DESTDIR)/$(jnidir) @$(INSTALL_PROGRAM) $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ $(DESTDIR)/$(jnidir) @mkdir -p $(DESTDIR)/$(jvmjardir) @$(INSTALL_DATA) $(BINRLS)/$(PACKAGE_NAME).jar $(DESTDIR)/$(jvmjardir) install-doc: \ javadoc @echo "javadocdir=$(javadocdir)" @$(MKDIR) $(DESTDIR)/$(javadocdir)/$(PACKAGE_NAME) @cp -r javadoc/* $(DESTDIR)/$(javadocdir)/$(PACKAGE_NAME) @find $(DESTDIR)/$(javadocdir)/$(PACKAGE_NAME) -type f -exec chmod 644 {} \; @find $(DESTDIR)/$(javadocdir)/$(PACKAGE_NAME) -type d -exec chmod 755 {} \; install: \ install-extension \ install-plugin \ install-doc jni3270.h: \ $(BINDIR)/java/pw3270/terminal.class @echo $< ... @mkdir -p `dirname $@` @$(JAVAH) -o $@ -classpath $(BINDIR)/java pw3270.terminal cleanDebug: clean clean: @rm -fr $(OBJDIR) @rm -fr $(BINDIR) @rm -fr javadoc @rm -f jni3270.h