From 14e51220e0747c9f23aed2e2e2edbf196f387bd0 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Thu, 8 Nov 2018 16:57:19 -0200 Subject: [PATCH] Atualizando Makefile. --- Makefile.in | 268 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- configure.ac | 6 +++++- lib3270.cbp | 7 ++++--- 3 files changed, 107 insertions(+), 174 deletions(-) diff --git a/Makefile.in b/Makefile.in index c1d0414..597b105 100644 --- a/Makefile.in +++ b/Makefile.in @@ -24,64 +24,66 @@ # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) # -LIBNAME=lib@LIB3270_NAME@@DLLEXT@ +#---[ Library configuration ]------------------------------------------------------------ -SOURCES = bounds.c ctlr.c util.c toggles.c screen.c selection.c kybd.c telnet.c \ - iocalls.c connect.c \ - host.c sf.c ansi.c resolver.c charset.c \ - version.c session.c state.c html.c trace_ds.c see.c \ - paste.c ssl.c actions.c \ - ft.c ft_cut.c ft_dft.c glue.c resources.c \ - rpq.c macros.c fallbacks.c log.c options.c +LIBNAME=@LIB3270_NAME@ -#---[ Configuration values ]------------------------------------------------------------- +SOURCES= \ + $(wildcard src/lib3270/*.c) \ + $(wildcard src/lib3270/@OSNAME@/*.c) \ + $(wildcard src/lib3270/@OSNAME@/*.rc) -PACKAGE_NAME=@PACKAGE_NAME@ -PACKAGE_VERSION=@PACKAGE_VERSION@ -PACKAGE_TARNAME=@PACKAGE_TARNAME@ +#---[ Tools ]---------------------------------------------------------------------------- + +CC=@CC@ +LD=@CC@ +LN_S=@LN_S@ +MKDIR=@MKDIR_P@ + +#---[ 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@ -SRCDIR=$(BASEDIR)/.src/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/src/lib3270 -POTDIR=$(BASEDIR)/.pot/lib3270 -OBJDIR=$(BASEDIR)/.obj/lib3270 +OBJDIR=$(BASEDIR)/.obj/@DLLPREFIX@$(LIBNAME) OBJDBG=$(OBJDIR)/Debug OBJRLS=$(OBJDIR)/Release -BINDIR=$(BASEDIR)/.bin +BINDIR=$(BASEDIR)/.bin/@DLLPREFIX@$(LIBNAME) BINDBG=$(BINDIR)/Debug BINRLS=$(BINDIR)/Release -INSTALL=@INSTALL@ -INSTALL_DATA=@INSTALL_DATA@ -INSTALL_PROGRAM=@INSTALL_PROGRAM@ - -LN_S=@LN_S@ +#---[ Rules ]---------------------------------------------------------------------------- -AMTAR=@AMTAR@ -SHELL=@SHELL@ -MKDIR=@MKDIR_P@ -XGETTEXT=@XGETTEXT@ -MSGCAT=@MSGCAT@ -VALGRIND=@VALGRIND@ +DEPENDS= \ + Makefile \ + src/include/*.h \ + src/include/lib3270/*.h \ + src/lib3270/*.h -CC=@CC@ -HOST_CC=@HOST_CC@ -LD=@CC@ -CFLAGS=@CFLAGS@ @LIB3270_CFLAGS@ @LIBSSL_CFLAGS@ -LIBS=@LIBS@ @LIBSSL_LIBS@ @LIBICONV@ @INTL_LIBS@ -LDFLAGS=@LDFLAGS@ +CFLAGS= \ + @CFLAGS@ \ + -g \ + -Isrc/include + -DBUILD_DATE=`date +%Y%m%d` \ + @LIBSSL_CFLAGS@ -#---[ Rules ]---------------------------------------------------------------------------- +LIBS= \ + @LIBS@ \ + @LIBSSL_LIBS@ -DEPENDS=$(BASEDIR)/src/include/*.h $(BASEDIR)/src/include/lib3270/*.h *.h Makefile +#---[ Debug Rules ]---------------------------------------------------------------------- $(OBJDBG)/%.o: \ %.c \ @@ -89,10 +91,12 @@ $(OBJDBG)/%.o: \ @echo $< ... @$(MKDIR) `dirname $@` - @$(CC) $(CFLAGS) \ - @DBG_CFLAGS@ \ - -DBUILD_DATE=`date +"0x%Y%m%d"`\ - -o $@ -c $< + @$(CC) \ + $(CFLAGS) \ + -Wall -Wextra -fstack-check -DDEBUG=1 \ + -o $@ -c $< + +#---[ Release Rules ]-------------------------------------------------------------------- $(OBJRLS)/%.o: \ %.c \ @@ -100,177 +104,101 @@ $(OBJRLS)/%.o: \ @echo $< ... @$(MKDIR) `dirname $@` - @$(CC) $(CFLAGS) \ - @RLS_CFLAGS@ \ - -DBUILD_DATE=`date +"0x%Y%m%d"` \ - -o $@ -c $< - - -$(POTDIR)/%.pot: %.c - - @echo $(notdir $@) ... - @$(MKDIR) `dirname $@` - @$(XGETTEXT) \ - --default-domain=$(PACKAGE) \ - --language=C \ - --keyword=_ \ - --keyword=N_ \ - --keyword=MSG_:2 \ - --output=$@ \ - $< - - @touch $@ + @$(CC) \ + $(CFLAGS) \ + -DNDEBUG=1 \ + -o $@ -c $< #---[ Release Targets ]------------------------------------------------------------------ all: \ - $(BINRLS)/$(LIBNAME) + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ Release: \ - $(BINRLS)/$(LIBNAME) + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ -$(BASEDIR)/.pot/lib@LIB3270_NAME@.pot: \ - $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(SRC).pot) +$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@: \ + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ + @echo $< ... @rm -f $@ - @mkdir -p `dirname $@` - @$(MSGCAT) --sort-output $^ > $@ - -$(BINRLS)/$(LIBNAME): \ - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@ + @$(LN_S) \ + @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \ + $@ - @echo $(basename $@) ... - @$(MKDIR) `dirname $@` - @$(LN_S) -f $(LIBNAME).@PACKAGE_MAJOR_VERSION@ $@ - -$(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@: \ - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ +$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \ + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ - @echo $(basename $@) ... - @$(MKDIR) `dirname $@` - @$(LN_S) -f $(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ $@ + @rm -f $@ + @$(LN_S) \ + @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ + $@ -$(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ +$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) - @echo $(basename $@) ... @$(MKDIR) `dirname $@` - @$(LD) -shared -Wl,-soname,$(@F) $(LDFLAGS) -o $@ $^ $(LIBS) - -install: \ - $(BINRLS)/$(LIBNAME) - - @$(MKDIR) $(DESTDIR)$(libdir) - - @$(INSTALL_PROGRAM) \ - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ - $(DESTDIR)$(libdir) + @echo $< ... + @$(LD) \ + -shared -Wl,-soname,$(@F) \ + -o $@ \ + $(LDFLAGS) \ + $(LIBS) - @$(LN_S) -f \ - $(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ - $(DESTDIR)$(libdir)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@ +#---[ Install Targets ]------------------------------------------------------------------ - @$(LN_S) -f \ - $(LIBNAME).@PACKAGE_MAJOR_VERSION@ \ - $(DESTDIR)$(libdir)/$(LIBNAME) #---[ Debug Targets ]-------------------------------------------------------------------- Debug: \ - $(BINDBG)/$(LIBNAME) - -$(BINDBG)/$(LIBNAME): \ - $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@ - - @echo $(basename $@) ... - @$(MKDIR) `dirname $@` - @$(LN_S) -f $(LIBNAME).@PACKAGE_MAJOR_VERSION@ $@ - -$(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@: \ - $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ - - @echo $(basename $@) ... - @$(MKDIR) `dirname $@` - @$(LN_S) -f $(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ $@ + $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ -$(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) - - @echo $(basename $@) ... - @$(MKDIR) `dirname $@` - @$(LD) -shared -Wl,-soname,$(@F) $(LDFLAGS) -o $@ $^ $(LIBS) - -#---[ Misc Targets ]--------------------------------------------------------------------- +$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@: \ + $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ -fallbacks.c: \ - X3270.xad \ - mkfb.c - - @echo $(basename $@) ... - @$(MKDIR) $(BINDIR) - @$(HOST_CC) -g -o $(BINDIR)/mkfb@EXEEXT@ mkfb.c - @$(BINDIR)/mkfb@EXEEXT@ -c X3270.xad $@ + @echo $< ... + @rm -f $@ + @$(LN_S) \ + @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \ + $@ -version.c: \ - ./mkversion.sh +$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \ + $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ - @echo $(basename $@) ... - @chmod +x ./mkversion.sh - @./mkversion.sh + @rm -f $@ + @$(LN_S) \ + @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ + $@ -$(BINDBG)/testprogram$(EXEEXT): \ - $(OBJDBG)/testprogram.o \ +$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) - @echo $(basename $@) ... @$(MKDIR) `dirname $@` - @$(LD) -o $@ $^ $(LIBS) - -run: \ - $(BINDBG)/testprogram$(EXEEXT) - -ifeq ($(VALGRIND),no) - @cd "$(ROOTDIR)" ; .bin/Debug/testprogram$(EXEEXT) -else - @cd "$(ROOTDIR)" ; \$(VALGRIND) --leak-check=full --gen-suppressions=all $(BINDBG)/testprogram$(EXEEXT) -endif - -$(SRCDIR): \ - clean - - @$(MKDIR) $@ - @$(INSTALL_DATA) *.c *.h *.in *.cbp *.xad $@ + @echo $< ... + @$(LD) \ + -shared -Wl,-soname,$(@F) \ + -o $@ \ + $(LDFLAGS) \ + $(LIBS) +#---[ Clean Targets ]-------------------------------------------------------------------- -#---[ Clean Targets]--------------------------------------------------------------------- +clean: \ + cleanDebug \ + cleanRelease cleanDebug: - @rm -fr $(OBJDBG) \ - $(BINDBG)/$(LIBNAME) \ - $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@ \ - $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ - - @rm -f \ - fallbacks.c \ - version.c + @rm -fr $(OBJDBG) + @rm -fr $(BINDBG) cleanRelease: - @rm -fr $(OBJRLS) \ - $(BINRLS)/$(LIBNAME) \ - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@ \ - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ - $(POTDIR) + @rm -fr $(OBJRLS) + @rm -fr $(BINRLS) - @rm -f \ - fallbacks.c \ - version.c clean: \ cleanDebug \ cleanRelease - - - diff --git a/configure.ac b/configure.ac index e25cf2d..b7a0a94 100644 --- a/configure.ac +++ b/configure.ac @@ -74,6 +74,7 @@ dnl --------------------------------------------------------------------------- case "$host" in *-mingw32) + app_cv_osname="windows" CFLAGS="$CFLAGS -pthread -D_WIN32_WINNT=0x0600" LDFLAGS="$LDFLAGS -pthread -static-libgcc -static-libstdc++" DLLEXT=".dll" @@ -84,6 +85,7 @@ case "$host" in LDFLAGS="$LDFLAGS -pthread" app_cv_datadir="/usr/share" app_cv_confdir="/etc" + app_cv_osname="linux" LOGDIR="/var/log" ;; @@ -92,6 +94,7 @@ case "$host" in LDFLAGS="$LDFLAGS -pthread" app_cv_datadir="/usr/share" app_cv_confdir="/etc" + app_cv_osname="linux" LOGDIR="/var/log" DLLEXT=".so" DLLPREFIX="lib" @@ -100,6 +103,7 @@ esac AC_SUBST(DATADIR,$app_cv_datadir) AC_SUBST(CONFDIR,$app_cv_confdir) +AC_SUBST(OSNAME,$app_cv_confdir) AC_SUBST(LIBS) AC_SUBST(LOGDIR) AC_SUBST(DLLEXT) @@ -364,7 +368,7 @@ dnl Configure which files to generate. dnl --------------------------------------------------------------------------- AC_CONFIG_FILES(sdk/lib3270.pc) -dnl AC_CONFIG_FILES(Makefile) +AC_CONFIG_FILES(Makefile) dnl --------------------------------------------------------------------------- dnl Output the generated config.status script. diff --git a/lib3270.cbp b/lib3270.cbp index b355e15..4ecfb3e 100644 --- a/lib3270.cbp +++ b/lib3270.cbp @@ -3,20 +3,21 @@