Makefile.in 3.93 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=dbus3270
DEPENDS=Makefile dbus-glue.h
PLUGIN_SRC=main.c gobject.c misc.c
DAEMON_SRC=daemon.c gobject.c iocallback.c misc.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@
DBUSBINDINGTOOL=@DBUSBINDINGTOOL@

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

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

LIB3270_CFLAGS ?= `pkg-config --cflags lib3270`
DBUS_CFLAGS=@DBUS_CFLAGS@
GLIB_CFLAGS=@GLIB_CFLAGS@
GTK_CFLAGS=@GTK_CFLAGS@

LIB3270_LIBS ?= `pkg-config --libs lib3270`
DBUS_LIBS=@DBUS_LIBS@
GLIB_LIBS=@GLIB_LIBS@
GTK_LIBS=@GTK_LIBS@

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

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

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


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

Release: $(BINRLS)/plugins/$(MODULE_NAME).so

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

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

Debug: $(BINDBG)/plugins/$(MODULE_NAME).so

$(BINDBG)/plugins/$(MODULE_NAME).so: $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o)
	@echo "  CCLD `basename $@`"
	@$(MKDIR) `dirname $@`
	@$(LD) $(DLL_FLAGS) -Wl,-soname,`basename $@` $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) $(GLIB_LIBS) $(GTK_LIBS)

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

debug-service: $(BINDBG)/@PACKAGE_NAME@d

dbus-glue.h: pw3270dbus.xml
	@$(DBUSBINDINGTOOL) --mode=glib-server --output=$@ --prefix=pw3270_dbus $^

$(BINDBG)/@PACKAGE_NAME@d: $(foreach SRC, $(basename $(DAEMON_SRC)), $(OBJDBG)/$(SRC).o)
	@echo "  CCLD `basename $@`"
	@$(MKDIR) `dirname $@`
	@$(CC) $(CFLAGS) -o $@ $^ $(DBUS_LIBS) $(GLIB_LIBS) $(LIB3270_LIBS)

cleandebug-service: clean

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