# # "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) # #---[ Library configuration ]------------------------------------------------------------ LIBNAME=tn3270 SOURCES= \ $(wildcard src/module/*.c) \ $(wildcard src/module/*.cc) \ $(wildcard src/module/@OSNAME@/*.cc) \ $(wildcard src/action/*.cc) \ $(wildcard src/action/*.c) \ $(wildcard src/session/*.cc) \ $(wildcard src/session/*.c) #---[ Tools ]---------------------------------------------------------------------------- CXX=@CXX@ CC=@CC@ LD=@CXX@ LN_S=@LN_S@ MKDIR=@MKDIR_P@ INSTALL=@INSTALL@ INSTALL_DATA=@INSTALL_DATA@ INSTALL_PROGRAM=@INSTALL_PROGRAM@ XGETTEXT=@XGETTEXT@ MSGCAT=@MSGCAT@ WINDRES=@WINDRES@ AR=@AR@ VALGRIND=@VALGRIND@ GENMARSHAL=@GENMARSHAL@ CONVERT=@CONVERT@ OPTIPNG=@OPTIPNG@ ZIP=@ZIP@ DOXYGEN=@DOXYGEN@ #---[ Paths ]---------------------------------------------------------------------------- prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ sbindir=@sbindir@ libdir=@libdir@ includedir=@includedir@ datarootdir=@datarootdir@ localedir=@localedir@ docdir=@docdir@ sysconfdir=@sysconfdir@ PYTHON_SITELIB=@PYTHON_SITELIB@ BASEDIR=@BASEDIR@ OBJDIR=$(BASEDIR)/.obj/$(LIBNAME) OBJDBG=$(OBJDIR)/Debug OBJRLS=$(OBJDIR)/Release BINDIR=$(BASEDIR)/.bin BINDBG=$(BINDIR)/Debug BINRLS=$(BINDIR)/Release #---[ Rules ]---------------------------------------------------------------------------- DEPENDS= \ Makefile \ src/include/*.h CFLAGS= \ @CFLAGS@ \ @PYTHON_CFLAGS@ \ -g \ -Isrc/include \ -DBUILD_DATE=`date +%Y%m%d` \ @IPC3270_CFLAGS@ CXXFLAGS= \ @CXXFLAGS@ \ @PYTHON_CFLAGS@ \ -g \ -Isrc/include \ -DBUILD_DATE=`date +%Y%m%d` \ @IPC3270_CFLAGS@ LDFLAGS= \ @LDFLAGS@ LIBS= \ @LIBS@ \ @PYTHON_LIBS@ \ @IPC3270_LIBS@ #---[ Debug Rules ]---------------------------------------------------------------------- $(OBJDBG)/%.o: \ %.cc \ $(DEPENDS) @echo $< ... @$(MKDIR) $(dir $@) @$(CXX) \ $(CXXFLAGS) \ -Wall -Wextra -fstack-check \ -DDEBUG=1 \ -o $@ \ -c $< $(OBJDBG)/%.o: \ %.c \ $(DEPENDS) @echo $< ... @$(MKDIR) $(dir $@) @$(CC) \ $(CFLAGS) \ -Wall -Wextra -fstack-check \ -DDEBUG=1 \ -o $@ \ -c $< $(OBJDBG)/%.o: \ %.rc @echo $< ... @$(MKDIR) $(dir $@) @$(WINDRES) $< -O coff -o $@ #---[ Release Rules ]-------------------------------------------------------------------- $(OBJRLS)/%.o: \ %.cc \ $(DEPENDS) @echo $< ... @$(MKDIR) $(dir $@) @$(CXX) \ $(CXXFLAGS) \ -Wall -Wextra \ -DNDEBUG=1 \ -o $@ \ -c $< $(OBJRLS)/%.o: \ %.c \ $(DEPENDS) @echo $< ... @$(MKDIR) $(dir $@) @$(CC) \ $(CFLAGS) \ -Wall -Wextra \ -DNDEBUG=1 \ -o $@ \ -c $< $(OBJRLS)/%.o: \ %.rc @echo $< ... @$(MKDIR) $(dir $@) @$(WINDRES) $< -O coff -o $@ #---[ Release Targets ]------------------------------------------------------------------ all: \ $(BINRLS)/$(LIBNAME)@DLLEXT@ Release: \ $(BINRLS)/$(LIBNAME)@DLLEXT@ $(BINRLS)/$(LIBNAME)@DLLEXT@: \ $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) @$(MKDIR) $(dir $@) @echo $< ... @$(LD) \ -shared -Wl,-soname,$(@F) \ -o $@ \ -L$(OBJRLS) \ $(LDFLAGS) \ $^ \ $(LIBS) #---[ Install Targets ]------------------------------------------------------------------ install: \ $(BINRLS)/$(LIBNAME)@DLLEXT@ @$(MKDIR) $(DESTDIR)$(PYTHON_SITELIB) @$(INSTALL_PROGRAM) \ $(BINRLS)/$(LIBNAME)@DLLEXT@ \ $(DESTDIR)$(PYTHON_SITELIB) #---[ Debug Targets ]-------------------------------------------------------------------- Debug: \ $(BINDBG)/$(LIBNAME)@DLLEXT@ run: \ $(BINDBG)/$(LIBNAME)@DLLEXT@ @PYTHONPATH=$(BINDBG) python3 \ ./testprograms/sample.py $(BINDBG)/$(LIBNAME)@DLLEXT@: \ $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) @$(MKDIR) $(dir $@) @echo $< ... @$(LD) \ -shared -Wl,-soname,$(@F) \ -o $@ \ -L$(BINDBG) \ $(LDFLAGS) \ $^ \ $(LIBS) #---[ Clean Targets ]-------------------------------------------------------------------- clean: \ cleanDebug \ cleanRelease cleanDebug: @rm -fr $(OBJDBG) @rm -fr $(BINDBG) cleanRelease: @rm -fr $(OBJRLS) @rm -fr $(BINRLS) clean: \ cleanDebug \ cleanRelease