Makefile.in 5.1 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)
# licinio@bb.com.br			(Licínio Luis Branco)
# kraucer@bb.com.br			(Kraucer Fernandes Mazuco)
#

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

MODULE_NAME=hllapi
DEPENDS=*.h ../../include/*.h ../../include/lib3270/*.h Makefile
PLUGIN_SRC=pluginmain.c
HLLAPI_SRC=hllapi.c calls.c remote.c

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

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

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

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

MKDIR=@MKDIR_P@
CC=@CC@
LD=@CC@
MSGCAT=@MSGCAT@
XGETTEXT=@XGETTEXT@

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

DLL_FLAGS=@DLL_FLAGS@
DEBUG_CFLAGS=-DDEBUG=1 -g -Wall

LIB3270_MODE ?= Default

ifeq ($(LIB3270_MODE),Debug)
	PW3270_LIBS=-L../../../.bin/Debug@DLLDIR@ -lpw3270 -l3270
	PW3270_CFLAGS=-I../../../src/include
	LIB3270_LIBS=-L../../../.bin/Debug@DLLDIR@  -l3270
	LIB3270_CFLAGS=-I../../../src/include
endif

ifeq ($(LIB3270_MODE),Release)
	PW3270_LIBS=-L../../../.bin/Release@DLLDIR@ -lpw3270 -l3270
	PW3270_CFLAGS=-I../../../src/include
	LIB3270_LIBS=-L../../../.bin/Release@DLLDIR@  -l3270
	LIB3270_CFLAGS=-I../../../src/include
endif

ifeq ($(LIB3270_MODE),Default)
	LIB3270_LIBS ?= `pkg-config --libs lib3270`
	LIB3270_CFLAGS ?= `pkg-config --cflags lib3270`
	PW3270_LIBS ?= `pkg-config --libs pw3270 lib3270`
	PW3270_CFLAGS ?= `pkg-config --cflags pw3270 lib3270`
endif


GTK_CFLAGS ?= @GTK_CFLAGS@ @GTKMAC_CFLAGS@
GTK_LIBS ?= @GTK_LIBS@ @GTKMAC_LIBS@

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

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


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

Release: $(BINRLS)/plugins/$(MODULE_NAME)@DLLEXT@ $(BINRLS)/libhllapi@DLLEXT@

$(BINRLS)/plugins/$(MODULE_NAME)@DLLEXT@: $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJRLS)/$(SRC).o)
	@echo "  CCLD `basename $@`"
	@$(MKDIR) `dirname $@`
	@$(LD) $(DLL_FLAGS) @LDSOFLAGS@ $(LDFLAGS) -o $@ $^ $(LIBS) $(PW3270_LIBS) $(GTK_LIBS)

$(BINRLS)/libhllapi@DLLEXT@: $(foreach SRC, $(basename $(HLLAPI_SRC)), $(OBJRLS)/$(SRC).o)
	@echo "  CCLD `basename $@`"
	@$(MKDIR) `dirname $@`
	@$(LD) $(DLL_FLAGS) @LDSOFLAGS@ $(LDFLAGS) @LDLIBFLAGS@ -o $@ $^ $(LIBS)

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

Debug: $(BINDBG)/plugins/$(MODULE_NAME)@DLLEXT@ $(BINDBG)/libhllapi@DLLEXT@

$(BINDBG)/plugins/$(MODULE_NAME)@DLLEXT@: $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o)
	@echo "  CCLD `basename $@`"
	@$(MKDIR) `dirname $@`
	@$(LD) $(DLL_FLAGS) @LDSOFLAGS@ $(LDFLAGS) -o $@ $^ $(LIBS) $(PW3270_LIBS) $(GTK_LIBS)

$(BINDBG)/libhllapi@DLLEXT@: $(foreach SRC, $(basename $(HLLAPI_SRC)), $(OBJDBG)/$(SRC).o)
	@echo "  CCLD `basename $@`"
	@$(MKDIR) `dirname $@`
	@$(LD) $(DLL_FLAGS) @LDSOFLAGS@ $(LDFLAGS) @LDLIBFLAGS@ -o $@ $^ $(LIBS)

#---[ Misc targets ]-----------------------------------------------------------

$(BINDBG)/testprogram@EXEEXT@: testprogram.c $(BINDBG)/libhllapi@DLLEXT@
	@echo "  CCLD `basename $@`"
	@$(MKDIR) `dirname $@`
	@$(CC) $(CFLAGS) $(PW3270_CFLAGS) -L$(BINDBG) $(DEBUG_CFLAGS) -lhllapi -o $@ testprogram.c

test: $(BINDBG)/testprogram@EXEEXT@

run: $(BINDBG)/testprogram@EXEEXT@
	@cd $(BINDBG) ; ./testprogram@EXEEXT@

install: $(BINRLS)/plugins/$(MODULE_NAME)@DLLEXT@
	@$(MKDIR) $(DESTDIR)$(libdir)/$(PACKAGE_NAME)-plugins
	@$(INSTALL_PROGRAM) $(BINRLS)/plugins/$(MODULE_NAME)@DLLEXT@ $(DESTDIR)$(libdir)/$(PACKAGE_NAME)-plugins

$(DEBDIR)/$(MODULE_NAME).install: Makefile
	@$(MKDIR) `dirname $@`
	@rm -f $@
	@echo $(libdir)/$(PACKAGE_NAME)-plugins/$(MODULE_NAME)@DLLEXT@ > $@

clean:
	@rm -fr $(OBJDIR)
	@rm -fr $(BINDIR)
	@rm -f testprogram@EXEEXT@
	@find . -name "*~" -exec rm -f {} \;