# # "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) # PACKAGE_NAME=@PACKAGE_NAME@ #---[ PLugin configuration ]------------------------------------------------------------- PLUGIN_NAME=ipc3270c PLUGIN_SOURCES= \ $(wildcard src/$(PLUGIN_NAME)/*.c) \ $(wildcard src/$(PLUGIN_NAME)/@OSNAME@/*.c) \ $(wildcard src/$(PLUGIN_NAME)/@OSNAME@/*.rc) PLUGIN_TEST_SOURCES= \ src/testprograms/$(PLUGIN_NAME).c #---[ Library configuration ]------------------------------------------------------------ LIBRARY_NAME=hllapi LIBRARY_SOURCES= \ $(wildcard src/$(LIBRARY_NAME)/*.c) \ $(wildcard src/$(LIBRARY_NAME)/*.cc) \ $(wildcard src/$(LIBRARY_NAME)/@OSNAME@/*.c) \ $(wildcard src/$(LIBRARY_NAME)/@OSNAME@/*.rc) LIBRARY_TEST_SOURCES= \ src/testprograms/$(LIBRARY_NAME).c #---[ Tools ]---------------------------------------------------------------------------- CC=@CC@ LD=@CC@ CXX=@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@ DBUSBINDINGTOOL=@DBUSBINDINGTOOL@ #---[ Paths ]---------------------------------------------------------------------------- prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ sbindir=@sbindir@ libdir=@libdir@ includedir=@includedir@ datarootdir=@datarootdir@ localedir=@localedir@ docdir=@docdir@ sysconfdir=@sysconfdir@ BASEDIR=@BASEDIR@ POTDIR=$(BASEDIR)/.pot OBJDIR=$(BASEDIR)/.obj OBJDBG=$(OBJDIR)/Debug OBJRLS=$(OBJDIR)/Release BINDIR=$(BASEDIR)/.bin BINDBG=$(BINDIR)/Debug BINRLS=$(BINDIR)/Release #---[ Rules ]---------------------------------------------------------------------------- DEPENDS= \ Makefile \ @DEPENDS@ CFLAGS= \ @CFLAGS@ \ -g \ -Isrc/include \ -DBUILD_DATE=`date +%Y%m%d` \ @LIB3270_CFLAGS@ \ @V3270_CFLAGS@ \ @GTK_CFLAGS@ \ @GLIB_CFLAGS@ \ @PW3270_CFLAGS@ GTK_LIBS=@GTK_LIBS@ V3270_LIBS=@V3270_LIBS@ GLIB_LIBS=@GLIB_LIBS@ DBUS_LIBS=@DBUS_LIBS@ @GDBUS_LIBS@ LIBS= \ @LIBS@ \ @LIBICONV@ \ @INTL_LIBS@ \ @LIB3270_LIBS@ \ @PW3270_LIBS@ src/include/dbus-glue.h: \ pw3270dbus.xml @echo $@ ... @$(DBUSBINDINGTOOL) \ --mode=glib-server \ --output=$@ \ --prefix=pw3270_dbus $^ #---[ Debug Rules ]---------------------------------------------------------------------- $(OBJDBG)/%.o: \ %.c \ $(DEPENDS) @echo $< ... @$(MKDIR) $(@D) @$(CC) \ $(CFLAGS) \ -Wall -Wextra -fstack-check \ -DDEBUG=1 \ -o $@ -c $< $(OBJDBG)/%.o: \ %.cc \ $(DEPENDS) @echo $< ... @$(MKDIR) $(@D) @$(CXX) \ $(CFLAGS) \ -Wall -Wextra -fstack-check \ -DDEBUG=1 \ -o $@ -c $< $(OBJDBG)/%.o: \ %.rc @echo $< ... @$(MKDIR) $(@D) @$(WINDRES) $< -O coff -o $@ #---[ Release Rules ]-------------------------------------------------------------------- $(OBJRLS)/%.o: \ %.c \ $(DEPENDS) @echo $< ... @$(MKDIR) $(@D) @$(CC) \ $(CFLAGS) \ -DNDEBUG=1 \ -o $@ -c $< $(OBJRLS)/%.o: \ %.cc \ $(DEPENDS) @echo $< ... @$(MKDIR) $(@D) @$(CXX) \ $(CFLAGS) \ -DNDEBUG=1 \ -o $@ -c $< $(OBJRLS)/%.o: \ %.rc @echo $< ... @$(MKDIR) $(@D) @$(WINDRES) $< -O coff -o $@ #---[ Misc Rules ]----------------------------------------------------------------------- $(POTDIR)/$(PLUGIN_NAME)/%.pot: \ %.c @echo $(notdir $@) ... @$(MKDIR) $(@D) @$(XGETTEXT) \ --language=C \ --keyword=_ \ --keyword=N_ \ --keyword=MSG_:2 \ --output=$@ \ $< @touch $@ $(POTDIR)/$(PLUGIN_NAME)/%.pot: \ %.rc @echo $< ... @$(MKDIR) $(@D) @touch $@ #---[ Release Targets ]------------------------------------------------------------------ all: \ $(BINRLS)/$(PLUGIN_NAME)@DLLEXT@ \ $(BINRLS)/lib$(LIBRARY_NAME)@DLLEXT@ \ $(POTDIR)/$(PLUGIN_NAME).pot Release: \ $(BINRLS)/$(PLUGIN_NAME)@DLLEXT@ \ $(BINRLS)/lib$(LIBRARY_NAME)@DLLEXT@ $(BINRLS)/$(PLUGIN_NAME)@DLLEXT@: \ $(foreach SRC, $(basename $(PLUGIN_SOURCES)), $(OBJRLS)/$(SRC).o) @$(MKDIR) $(@D) @echo $< ... @$(LD) \ -shared -Wl,-soname,$(@F) \ -o $@ \ $(LDFLAGS) \ $(foreach SRC, $(basename $(PLUGIN_SOURCES)), $(OBJRLS)/$(SRC).o) \ $(V3270_LIBS) \ $(LIBS) \ $(GTK_LIBS) \ $(DBUS_LIBS) $(BINRLS)/lib$(LIBRARY_NAME)@DLLEXT@: \ $(foreach SRC, $(basename $(LIBRARY_SOURCES)), $(OBJRLS)/$(SRC).o) @$(MKDIR) $(@D) @echo $< ... @$(CXX) \ -shared -Wl,-soname,$(@F) \ -o $@ \ $(LDFLAGS) \ $(foreach SRC, $(basename $(LIBRARY_SOURCES)), $(OBJRLS)/$(SRC).o) \ -lpw3270cpp \ -L$(BINDBG) \ $(LIBS) \ $(DBUS_LIBS) #---[ Install Targets ]------------------------------------------------------------------ install: \ install-plugin install-plugin: \ $(BINRLS)/$(PLUGIN_NAME)@DLLEXT@ @$(MKDIR) $(DESTDIR)$(libdir)/pw3270-plugins @$(INSTALL_PROGRAM) \ $(BINRLS)/$(PLUGIN_NAME)@DLLEXT@ \ $(DESTDIR)$(libdir)/pw3270-plugins #---[ Misc Targets ]--------------------------------------------------------------------- $(POTDIR)/$(PLUGIN_NAME).pot: \ $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(PLUGIN_NAME)/$(SRC).pot) @rm -f $@ @mkdir -p `dirname $@` @$(MSGCAT) --sort-output $^ > $@ locale: \ $(POTDIR)/$(PLUGIN_NAME).pot run-plugin: \ $(BINDBG)/$(PLUGIN_NAME)@EXEEXT@ $(BINDBG)/$(PLUGIN_NAME)@EXEEXT@ run-library: \ $(BINDBG)/$(LIBRARY_NAME)@EXEEXT@ $(BINDBG)/$(LIBRARY_NAME)@EXEEXT@ #---[ Debug Targets ]-------------------------------------------------------------------- Debug: \ Debug-plugin \ Debug-library Debug-plugin: \ $(BINDBG)/$(PLUGIN_NAME)@EXEEXT@ Debug-library: \ $(BINDBG)/$(LIBRARY_NAME)@EXEEXT@ $(BINDBG)/$(PLUGIN_NAME)@EXEEXT@: \ $(foreach SRC, $(basename $(PLUGIN_TEST_SOURCES)), $(OBJDBG)/$(SRC).o) \ $(BINDBG)/$(PLUGIN_NAME)@DLLEXT@ @$(MKDIR) $(@D) @echo $< ... @$(LD) \ -o $@ \ $(foreach SRC, $(basename $(PLUGIN_TEST_SOURCES)), $(OBJDBG)/$(SRC).o) \ -L$(BINDBG) \ -Wl,-rpath,$(BINDBG) \ $(LDFLAGS) \ $(LIBS) \ $(V3270_LIBS) \ $(GTK_LIBS) \ $(GLIB_LIBS) \ $(DBUS_LIBS) $(BINDBG)/$(PLUGIN_NAME)@DLLEXT@: \ $(foreach SRC, $(basename $(PLUGIN_SOURCES)), $(OBJDBG)/$(SRC).o) @$(MKDIR) $(@D) @echo $< ... @$(LD) \ -shared -Wl,-soname,$(@F) \ -o $@ \ $(foreach SRC, $(basename $(PLUGIN_SOURCES)), $(OBJDBG)/$(SRC).o) \ $(LDFLAGS) \ -L$(BINDBG) \ $(LIBS) \ $(V3270_LIBS) \ $(GTK_LIBS) \ $(GLIB_LIBS) \ $(DBUS_LIBS) $(BINDBG)/$(LIBRARY_NAME)@EXEEXT@: \ $(foreach SRC, $(basename $(LIBRARY_TEST_SOURCES)), $(OBJDBG)/$(SRC).o) \ $(BINDBG)/lib$(LIBRARY_NAME)@DLLEXT@ @$(MKDIR) $(@D) @echo $< ... @$(CXX) \ -o $@ \ $(foreach SRC, $(basename $(LIBRARY_TEST_SOURCES)), $(OBJDBG)/$(SRC).o) \ -Wl,-rpath,$(BINDBG) \ $(LDFLAGS) \ -L$(BINDBG) \ -l$(LIBRARY_NAME) \ $(LIBS) \ $(V3270_LIBS) \ $(GTK_LIBS) \ $(GLIB_LIBS) \ $(DBUS_LIBS) $(BINDBG)/lib$(LIBRARY_NAME)@DLLEXT@: \ $(foreach SRC, $(basename $(LIBRARY_SOURCES)), $(OBJDBG)/$(SRC).o) @$(MKDIR) $(@D) @echo $< ... @$(CXX) \ -shared -Wl,-soname,$(@F) \ -o $@ \ $(LDFLAGS) \ $(foreach SRC, $(basename $(LIBRARY_SOURCES)), $(OBJDBG)/$(SRC).o) \ -lpw3270cpp \ -L$(BINDBG) \ $(LIBS) \ $(DBUS_LIBS) #---[ Clean Targets ]-------------------------------------------------------------------- clean: \ cleanDebug \ cleanRelease @rm -fr $(BASEDIR)/.tmp/$(PLUGIN_NAME) @rm -fr $(POTDIR)/$(PLUGIN_NAME) cleanDebug: @rm -fr $(OBJDBG) @rm -fr $(BINDBG) @rm -fr $(OBJDIR)/marshal cleanRelease: @rm -fr $(OBJRLS) @rm -fr $(BINRLS) @rm -fr $(OBJDIR)/marshal