Makefile.in 5.65 KB
#
# "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> <Banco do Brasil S.A.>
#
# 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)
#

SOURCES=actions.cc get.cc init.cc misc.cc py3270.cc set.cc
LIBNAME=py3270@DLLEXT@

#---[ Configuration values ]-------------------------------------------------------------

PACKAGE_NAME=@PACKAGE_NAME@
PACKAGE_VERSION=@PACKAGE_VERSION@
PACKAGE_TARNAME=@PACKAGE_TARNAME@

prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
sbindir=@sbindir@
libdir=@libdir@

BASEDIR=@BASEDIR@
SRCDIR=$(BASEDIR)/.src/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
PYTHONLIBPATH=`python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"`

OBJDIR=$(BASEDIR)/.obj
OBJDBG=$(OBJDIR)/Debug
OBJRLS=$(OBJDIR)/Release

BINDIR=$(BASEDIR)/.bin
BINDBG=$(BINDIR)/Debug
BINRLS=$(BINDIR)/Release

INSTALL=@INSTALL@
INSTALL_DATA=@INSTALL_DATA@
INSTALL_PROGRAM=@INSTALL_PROGRAM@

LN_S=@LN_S@

VALGRIND=@VALGRIND@
AMTAR=@AMTAR@
SHELL=@SHELL@
STRIP=@STRIP@
MKDIR=@MKDIR_P@
RPMBUILD=@RPMBUILD@

CXX=@CXX@
CC=@CC@
LD=@CXX@

LIBS=-lpw3270cpp @LIBS@ @LIBICONV@ @DBUS_LIBS@
CFLAGS=@CFLAGS@ @PYTHON_CFLAGS@ @DBUS_CFLAGS@
LDFLAGS=@LDFLAGS@ 

#---[ Rules ]----------------------------------------------------------------------------

DEPENDS=src/*.h Makefile

$(OBJDBG)/%.o: \
	src/%.cc \
	$(DEPENDS)

	@echo $< ...
	@$(MKDIR) `dirname $@`
	@$(CXX) $(CFLAGS) -fstack-check \
				-DDEBUG=1 \
				-DBUILD_DATE=`date +"%Y%m%d"`\
				-g -o $@ -c $<

$(OBJRLS)/%.o: \
	src/%.cc \
	$(DEPENDS)

	@echo $< ...
	@$(MKDIR) `dirname $@`
	@$(CXX) $(CFLAGS) \
				-DNDEBUG=1 \
				-DBUILD_DATE=`date +"%Y%m%d"` \
				-o $@ -c $<

%.tar.bz2: \
	%.tar

	@echo $< ...
	@bzip2 --compress -9 --stdout $< > $@
	@chmod 0644 $@

%.tar.gz: \
	%.tar

	@echo $< ...
	@gzip -9 --stdout $< > $@
	@chmod 0644 $@

#---[ Release Targets ]------------------------------------------------------------------

all: \
	$(BINRLS)/$(LIBNAME)

Release: \
	$(BINRLS)/$(LIBNAME)

install: \
	$(BINRLS)/$(LIBNAME)

	@$(MKDIR) $(DESTDIR)/$(PYTHONLIBPATH)
	@$(INSTALL_PROGRAM) $(BINRLS)/py3270@DLLEXT@ $(DESTDIR)/$(PYTHONLIBPATH)/py3270@DLLEXT@

zip: \
	py3270-@PACKAGE_VERSION@.@host_cpu@.zip

py3270-@PACKAGE_VERSION@.@host_cpu@.zip: \
	Makefile \
	$(BINRLS)/py3270@DLLEXT@

	@rm -f $@
	@zip -9 -j $@ $(BINRLS)/py3270@DLLEXT@

tgz: \
	$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz

bz2: \
	$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2

tar: \
	$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar

rpm: \
	$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2

ifneq ($(RPMBUILD),no)
	@$(MKDIR) $(BASEDIR)/rpm
	@$(MKDIR) $(BASEDIR)/rpm/SPECS
	@$(MKDIR) $(BASEDIR)/rpm/SOURCES
	@$(MKDIR) $(BASEDIR)/rpm/SRPMS
	@$(MKDIR) $(BASEDIR)/rpm/RPMS
	@$(MKDIR) $(BASEDIR)/rpm/BUILD
	@$(MKDIR) $(BASEDIR)/rpm/BUILDROOT
	@umask 002 ; $(RPMBUILD) \
		--define="_topdir $(BASEDIR)/rpm" \
		--define="_packager $(USER)@$(HOSTNAME)" \
		--clean \
		-ta $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2
endif

srpm: \
	$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2

ifneq ($(RPMBUILD),no)
	@$(MKDIR) $(BASEDIR)/rpm
	@$(MKDIR) $(BASEDIR)/rpm/SPECS
	@$(MKDIR) $(BASEDIR)/rpm/SOURCES
	@$(MKDIR) $(BASEDIR)/rpm/SRPMS
	@$(MKDIR) $(BASEDIR)/rpm/RPMS
	@$(MKDIR) $(BASEDIR)/rpm/BUILD
	@$(MKDIR) $(BASEDIR)/rpm/BUILDROOT
	@umask 002 ; $(RPMBUILD) \
		--define="_topdir $(PWD)/rpm" \
		--define="_packager $(USER)@$(HOSTNAME)" \
		--clean \
		-ts $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2
	@find rpm -iname "*.rpm" -exec chmod 664 {} \;
endif

$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar: \
	$(SRCDIR)

	@$(AMTAR) \
		--verbose \
		--format=ustar \
		--create \
		--exclude-vcs \
		--directory $(BASEDIR)/.src \
		--owner=root \
		--group=root \
		--file=$@ \
		$(PACKAGE_TARNAME)-@PACKAGE_VERSION@


$(SRCDIR): \
	clean \

	# Copia fontes
	@$(MKDIR) $(SRCDIR)/src
	@cp src/*.cc $(SRCDIR)/src
	@cp src/*.in $(SRCDIR)/src
	@cp src/private.h $(SRCDIR)/src

	# Copia extras
	@cp -r scripts $(SRCDIR)
	@cp -r testprograms $(SRCDIR)

	# Copia documentos
	@cp AUTHORS $(SRCDIR)
	@cp LICENCA $(SRCDIR)
	@cp LICENSE $(SRCDIR)
	@cp README.md $(SRCDIR)

	# Copia configuradores
	@cp configure.ac $(SRCDIR)
	@cp *.in $(SRCDIR)
	@cp *.sh $(SRCDIR)
	@cp *.cbp $(SRCDIR)
	@cp rpm/*.spec $(SRCDIR)

$(BINRLS)/$(LIBNAME): \
	$(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)

	@echo $(basename $@) ...
	@$(MKDIR) `dirname $@`
	@$(LD) -shared -Wl,-soname,$(LIBNAME) $(LDFLAGS) -o $@ $^ $(LIBS)

Debug: \
	$(BINDBG)/$(LIBNAME)

$(BINDBG)/$(LIBNAME): \
	$(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)

	@echo $(basename $@) ...
	@$(MKDIR) `dirname $@`
	@$(LD) -shared -Wl,-soname,$(LIBNAME) $(LDFLAGS) -o $@ $^ $(LIBS)

run: \
	$(BINDBG)/$(LIBNAME)

	PYTHONPATH=$(BINDBG) python ./testprograms/sample.py 

cleanDebug: \
	clean

clean:
	
	@rm -fr $(BINDIR)
	@rm -fr $(OBJDIR)
	@rm -fr $(SRCDIR)