Makefile.in 3.81 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)
#

PACKAGE=@PACKAGE_NAME@
LIBNAME=$(PACKAGE)class.a

#---[ Sources ]----------------------------------------------------------------

include class.mak

#---[ Paths ]------------------------------------------------------------------

prefix=@prefix@
datarootdir=@datarootdir@
includedir=@includedir@
libdir=@libdir@

ROOTDIR ?= .
OBJDIR  ?= $(ROOTDIR)/.obj
BINDIR  ?= $(ROOTDIR)/.bin
BINDBG  ?= $(BINDIR)/Debug
BINRLS  ?= $(BINDIR)/Release

OBJDBG = $(OBJDIR)/Debug
OBJRLS = $(OBJDIR)/Release

#---[ Tools ]------------------------------------------------------------------

MKDIR=@MKDIR_P@
LN_S=@LN_S@
INSTALL=@INSTALL@
INSTALL_DATA=$(INSTALL) -m 644

#---[ Flags ]------------------------------------------------------------------

CFLAGS=$(CLASS_CFLAGS) -I../include
LIBS=@LIBS@ $(CLASS_LIBS)

DEBUG_CFLAGS=-DDEBUG=1 -g -Wall

EXEEXT=@EXEEXT@

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

CXX=@CXX@
LD=@CXX@

DEPENDS=../include/*.h ../include/lib3270/*.h ../include/pw3270/*.h Makefile

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

$(OBJDBG)/%.o: %.cc $(DEPENDS)
	@echo "  CC   `basename $@`"
	@$(MKDIR) `dirname $@`
	@$(CXX) $(CFLAGS) $(DEBUG_CFLAGS) -o $@ -c $<

$(OBJRLS)/%.o: %.cc $(DEPENDS)
	@echo "  CC   `basename $@`"
	@$(MKDIR) `dirname $@`
	@$(CXX) $(CFLAGS) -o $@ -c $<

#---[ Release targets ]--------------------------------------------------------

Release: $(BINRLS)/$(LIBNAME)

$(BINRLS)/$(LIBNAME): $(foreach SRC, $(basename $(CLASS_SRC)), $(OBJRLS)/$(SRC).o)
	@echo "  CCLD `basename $@`"
	@$(MKDIR) `dirname $@`
	@ar rs $@ $^

install: Release
	@$(MKDIR) $(DESTDIR)$(datarootdir)/$(PACKAGE)
	@$(INSTALL_DATA) $(BINRLS)/$(LIBNAME) $(DESTDIR)$(datarootdir)/$(PACKAGE)

#---[ Debug targets ]----------------------------------------------------------

Debug: $(BINDBG)/testprogram$(EXEEXT)

run: $(BINDBG)/testprogram$(EXEEXT)
	$(BINDBG)/testprogram$(EXEEXT)

$(BINDBG)/testprogram$(EXEEXT): $(OBJDBG)/testprogram.o $(BINDBG)/$(LIBNAME)
	@echo "  CCLD `basename $@`"
	@$(MKDIR) `dirname $@`
	@$(LD) $(LIBS) -o $@ $^

$(BINDBG)/$(LIBNAME): $(foreach SRC, $(basename $(CLASS_SRC)), $(OBJDBG)/$(SRC).o)
	@echo "  CCLD `basename $@`"
	@$(MKDIR) `dirname $@`
	@ar rs $@ $^

#---[ Misc targets ]-----------------------------------------------------------
install-sdk: $(BINRLS)/$(LIBNAME)
	@$(MKDIR) $(DESTDIR)$(datarootdir)/$(PACKAGE)/sample/classlib
	@$(INSTALL_DATA) *.cc $(DESTDIR)$(datarootdir)/$(PACKAGE)/sample/classlib
	@$(MKDIR) $(DESTDIR)/$(includedir)/pw3270
	@$(INSTALL_DATA) ../include/pw3270/class.h $(DESTDIR)/$(includedir)/pw3270
	@$(MKDIR) $(DESTDIR)$(libdir)
	@$(INSTALL_DATA) $(BINRLS)/$(LIBNAME) $(DESTDIR)$(libdir)

cleanDebug: clean

clean:
	@rm -fr $(OBJDIR)
	@rm -fr $(BINDIR)
	@rm -f testprogram