Commit c5ab786071711eb4b85a0ed11fe1be61ad52223f

Authored by Perry Werneck
1 parent 3d452141
Exists in master and in 1 other branch develop

Splitting virtual 3270 terminal to another project.

Showing 2 changed files with 272 additions and 72 deletions   Show diff stats
Makefile.in
... ... @@ -24,55 +24,82 @@
24 24 # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
25 25 #
26 26  
27   -MODULE_NAME=v3270
  27 +#---[ Library configuration ]------------------------------------------------------------
28 28  
29   -SOURCES=marshal.c widget.c oia.c iocallback.c keyboard.c draw.c mouse.c selection.c \
30   - accessible.c security.c macros.c hostselect.c properties.c charset.c
  29 +LIBNAME=libv@LIB3270_NAME@
31 30  
32   -#---[ Configuration values ]-------------------------------------------------------------
  31 +SOURCES= \
  32 + $(wildcard src/v3270/*.c) \
  33 + $(wildcard src/v3270ft/*.c) \
  34 + $(wildcard src/dialogs/*.c)
33 35  
34   -PACKAGE_NAME=@PACKAGE_NAME@
35   -PACKAGE_VERSION=@PACKAGE_VERSION@
36   -PACKAGE_TARNAME=@PACKAGE_TARNAME@
  36 +TEST_SOURCES= \
  37 + $(wildcard testprogram/*.c)
  38 +
  39 +#---[ Tools ]----------------------------------------------------------------------------
  40 +
  41 +CC=@CC@
  42 +HOST_CC=@HOST_CC@
  43 +LD=@CC@
  44 +LN_S=@LN_S@
  45 +MKDIR=@MKDIR_P@
  46 +INSTALL=@INSTALL@
  47 +INSTALL_DATA=@INSTALL_DATA@
  48 +INSTALL_PROGRAM=@INSTALL_PROGRAM@
  49 +XGETTEXT=@XGETTEXT@
  50 +MSGCAT=@MSGCAT@
  51 +WINDRES=@WINDRES@
  52 +AR=@AR@
  53 +VALGRIND=@VALGRIND@
  54 +
  55 +#---[ Paths ]----------------------------------------------------------------------------
37 56  
38 57 prefix=@prefix@
39 58 exec_prefix=@exec_prefix@
40 59 bindir=@bindir@
41 60 sbindir=@sbindir@
42 61 libdir=@libdir@
  62 +includedir=@includedir@
  63 +datarootdir=@datarootdir@
  64 +localedir=@localedir@
  65 +docdir=@docdir@
  66 +sysconfdir=@sysconfdir@
43 67  
44 68 BASEDIR=@BASEDIR@
45   -SRCDIR=$(BASEDIR)/.src/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/src/pw3270/$(MODULE_NAME)
46   -POTDIR=$(BASEDIR)/.pot/$(PACKAGE_TARNAME)/$(MODULE_NAME)
47 69  
48   -OBJDIR=.obj
  70 +POTDIR=$(BASEDIR)/.pot
  71 +
  72 +OBJDIR=$(BASEDIR)/.obj/$(LIBNAME)
49 73 OBJDBG=$(OBJDIR)/Debug
50 74 OBJRLS=$(OBJDIR)/Release
51 75  
52   -MKDIR=@MKDIR_P@
53   -CC=@CC@
54   -LD=@CC@
55   -AR=@AR@
56   -GENMARSHAL=@GENMARSHAL@
57   -XGETTEXT=@XGETTEXT@
58   -MSGCAT=@MSGCAT@
59   -INSTALL=@INSTALL@
60   -INSTALL_DATA=@INSTALL_DATA@
61   -
62   -CFLAGS=@CFLAGS@ \
63   - @LIB3270_CFLAGS@ \
64   - @PW3270_CFLAGS@ \
65   - -Wno-deprecated-declarations \
66   - @GTK_CFLAGS@
67   -
68   -LIBS=@LIBS@ @GTK_LIBS@ @LIB3270_LIBS@
  76 +BINDIR=$(BASEDIR)/.bin
  77 +BINDBG=$(BINDIR)/Debug
  78 +BINRLS=$(BINDIR)/Release
69 79  
70 80 #---[ Rules ]----------------------------------------------------------------------------
71 81  
72 82 DEPENDS= \
73   - $(BASEDIR)/src/include/*.h \
74   - @LIB3270_INCLUDEPATH@/*.h \
75   - $(BASEDIR)/src/include/v3270/*.h
  83 + Makefile \
  84 + src/include/*.h \
  85 + src/include/v3270/*.h \
  86 + src/v3270/*.h \
  87 + src/v3270ft/*.h
  88 +
  89 +CFLAGS= \
  90 + @CFLAGS@ \
  91 + -g \
  92 + -I../include
  93 + -DBUILD_DATE=`date +%Y%m%d` \
  94 + @LIBSSL_CFLAGS@
  95 +
  96 +LIBS= \
  97 + @LIBS@ \
  98 + @LIBSSL_LIBS@ \
  99 + @LIBICONV@ \
  100 + @INTL_LIBS@
  101 +
  102 +#---[ Debug Rules ]----------------------------------------------------------------------
76 103  
77 104 $(OBJDBG)/%.o: \
78 105 %.c \
... ... @@ -80,10 +107,20 @@ $(OBJDBG)/%.o: \
80 107  
81 108 @echo $< ...
82 109 @$(MKDIR) `dirname $@`
83   - @$(CC) $(CFLAGS) \
84   - @DBG_CFLAGS@ \
85   - -DBUILD_DATE=`date +"0x%Y%m%d"`\
86   - -o $@ -c $<
  110 + @$(CC) \
  111 + $(CFLAGS) \
  112 + -Wall -Wextra -fstack-check \
  113 + -DDEBUG=1 \
  114 + -o $@ -c $<
  115 +
  116 +$(OBJDBG)/%.o: \
  117 + %.rc
  118 +
  119 + @echo $< ...
  120 + @$(MKDIR) `dirname $@`
  121 + @$(WINDRES) $< -O coff -o $@
  122 +
  123 +#---[ Release Rules ]--------------------------------------------------------------------
87 124  
88 125 $(OBJRLS)/%.o: \
89 126 %.c \
... ... @@ -91,97 +128,231 @@ $(OBJRLS)/%.o: \
91 128  
92 129 @echo $< ...
93 130 @$(MKDIR) `dirname $@`
94   - @$(CC) $(CFLAGS) \
95   - @RLS_CFLAGS@ \
96   - -DBUILD_DATE=`date +"0x%Y%m%d"` \
97   - -o $@ -c $<
  131 + @$(CC) \
  132 + $(CFLAGS) \
  133 + -DNDEBUG=1 \
  134 + -o $@ -c $<
  135 +
  136 +$(OBJRLS)/%.o: \
  137 + %.rc
  138 +
  139 + @echo $< ...
  140 + @$(MKDIR) `dirname $@`
  141 + @$(WINDRES) $< -O coff -o $@
98 142  
99   -$(POTDIR)/%.pot: %.c
  143 +#---[ Misc Rules ]-----------------------------------------------------------------------
  144 +
  145 +$(POTDIR)/$(LIBNAME)/%.pot: \
  146 + %.c
100 147  
101 148 @echo $(notdir $@) ...
102 149 @$(MKDIR) `dirname $@`
103 150 @$(XGETTEXT) \
104   - --default-domain=$(PACKAGE) \
105 151 --language=C \
106 152 --keyword=_ \
107 153 --keyword=N_ \
108 154 --keyword=MSG_:2 \
109 155 --output=$@ \
110 156 $<
111   -
112 157 @touch $@
113 158  
114   -marshal.h: \
115   - genmarshal
  159 +$(POTDIR)/$(LIBNAME)/%.pot: \
  160 + %.rc
116 161  
117 162 @echo $< ...
118 163 @$(MKDIR) `dirname $@`
119   - @$(GENMARSHAL) --prefix=$(MODULE_NAME) --header genmarshal > $@
  164 + @touch $@
120 165  
121   -marshal.c: \
122   - marshal.h
  166 +#---[ Release Targets ]------------------------------------------------------------------
123 167  
124   - @echo $< ...
125   - @$(MKDIR) `dirname $@`
126   - @glib-genmarshal --prefix=$(MODULE_NAME) --body genmarshal > $@
  168 +all: \
  169 + $(BINRLS)/$(LIBNAME)@DLLEXT@ \
  170 + $(BINRLS)/static/$(LIBNAME).a \
  171 + $(POTDIR)/$(LIBNAME).pot
127 172  
128   -#---[ Release Targets ]------------------------------------------------------------------
129 173  
130 174 Release: \
131   - $(BASEDIR)/.obj/Release/$(MODULE_NAME).a
  175 + $(BINRLS)/$(LIBNAME)@DLLEXT@ \
  176 + $(BINRLS)/static/$(LIBNAME).a
  177 +
  178 +$(BINRLS)/$(LIBNAME)@DLLEXT@: \
  179 + $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@
  180 +
  181 + @echo $< ...
  182 + @rm -f $@
  183 + @$(LN_S) \
  184 + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \
  185 + $@
  186 +
  187 +$(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \
  188 + $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
  189 +
  190 + @rm -f $@
  191 + @$(LN_S) \
  192 + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
  193 + $@
132 194  
133   -$(BASEDIR)/.obj/Release/$(MODULE_NAME).a: \
  195 +$(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
  196 + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
  197 +
  198 + @$(MKDIR) `dirname $@`
  199 + @echo $< ...
  200 + @$(LD) \
  201 + -shared -Wl,-soname,$(@F) \
  202 + -o $@ \
  203 + $(LDFLAGS) \
  204 + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) \
  205 + $(LIBS)
  206 +
  207 +$(BINRLS)/static/$(LIBNAME).a: \
134 208 $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
135 209  
136 210 @echo $@ ...
137 211 @$(MKDIR) `dirname $@`
138 212 @$(AR) rcs $@ $^
139 213  
140   -pot: \
141   - $(BASEDIR)/.pot/$(PACKAGE_TARNAME)/$(MODULE_NAME).pot
142 214  
143   -$(BASEDIR)/.pot/$(PACKAGE_TARNAME)/$(MODULE_NAME).pot: \
144   - $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(SRC).pot)
  215 +#---[ Install Targets ]------------------------------------------------------------------
  216 +
  217 +install: \
  218 + $(BINRLS)/$(LIBNAME)@DLLEXT@ \
  219 + $(BINRLS)/static/$(LIBNAME).a
  220 +
  221 + # Install library
  222 + @mkdir -p $(DESTDIR)$(libdir)
  223 +
  224 + @$(INSTALL_PROGRAM) \
  225 + $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
  226 + $(DESTDIR)$(libdir)
  227 +
  228 +
  229 + @$(LN_S) \
  230 + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
  231 + $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@
  232 +
  233 + @$(LN_S) \
  234 + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \
  235 + $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@
  236 +
  237 + # Install static library
  238 + @$(INSTALL_DATA) \
  239 + $(BINRLS)/static/$(LIBNAME).a \
  240 + $(DESTDIR)$(libdir)
  241 +
  242 + # Install SDK
  243 +
  244 + @mkdir -p $(DESTDIR)$(includedir)/$(LIBNAME)
  245 +
  246 + @$(INSTALL_DATA) \
  247 + ../include/$(LIBNAME)/*.h \
  248 + $(DESTDIR)$(includedir)/$(LIBNAME)
  249 +
  250 + @$(INSTALL_DATA) \
  251 + ../include/$(LIBNAME).h \
  252 + $(DESTDIR)$(includedir)/$(LIBNAME).h
  253 +
  254 + # Install PKG-CONFIG files
  255 + @mkdir -p $(DESTDIR)$(libdir)/pkgconfig
  256 + @$(INSTALL_DATA) \
  257 + $(LIBNAME).pc \
  258 + $(DESTDIR)$(libdir)/pkgconfig/$(LIBNAME).pc
  259 +
  260 +
  261 +#---[ Misc Targets ]---------------------------------------------------------------------
  262 +
  263 +$(POTDIR)/$(LIBNAME).pot: \
  264 + $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(LIBNAME)/$(SRC).pot)
145 265  
146 266 @rm -f $@
147 267 @mkdir -p `dirname $@`
148 268 @$(MSGCAT) --sort-output $^ > $@
149 269  
150   -$(SRCDIR): \
151   - clean
152   -
153   - @$(MKDIR) $@
154   - @$(INSTALL_DATA) *.c *.h *.in *.xbm *.cbp genmarshal $@
  270 +locale: \
  271 + $(POTDIR)/$(LIBNAME).pot
155 272  
156 273  
157 274 #---[ Debug Targets ]--------------------------------------------------------------------
158 275  
159 276 Debug: \
160   - $(BASEDIR)/.obj/Debug/$(MODULE_NAME).a
  277 + $(BINDBG)/$(LIBNAME)@EXEEXT@
  278 +
  279 +$(BINDBG)/$(LIBNAME)@EXEEXT@: \
  280 + $(foreach SRC, $(basename $(TEST_SOURCES)), $(OBJDBG)/$(SRC).o) \
  281 + $(BINDBG)/$(LIBNAME)@DLLEXT@
  282 +
  283 + @$(MKDIR) `dirname $@`
  284 + @echo $< ...
  285 + @$(LD) -o $@ $^ $(LDFLAGS) $(LIBS)
161 286  
162   -$(BASEDIR)/.obj/Debug/$(MODULE_NAME).a: \
  287 +run: \
  288 + $(BINDBG)/$(LIBNAME)@EXEEXT@
  289 +
  290 +ifeq ($(VALGRIND),no)
  291 +
  292 + @LD_LIBRARY_PATH=$(BINDBG) \
  293 + $(BINDBG)/$(LIBNAME)@EXEEXT@
  294 +
  295 +else
  296 + @touch valgrind.suppression
  297 +
  298 + @LD_LIBRARY_PATH=$(BINDBG) \
  299 + $(VALGRIND) --leak-check=full --track-origins=yes --gen-suppressions=all --suppressions=valgrind.suppression \
  300 + $(BINDBG)/$(LIBNAME)@EXEEXT@
  301 +endif
  302 +
  303 +
  304 +$(BINDBG)/$(LIBNAME)@DLLEXT@: \
  305 + $(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@
  306 +
  307 + @echo $< ...
  308 + @rm -f $@
  309 + @$(LN_S) \
  310 + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \
  311 + $@
  312 +
  313 +$(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \
  314 + $(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
  315 +
  316 + @rm -f $@
  317 + @$(LN_S) \
  318 + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
  319 + $@
  320 +
  321 +$(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
163 322 $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
164 323  
165   - @echo $@ ...
166 324 @$(MKDIR) `dirname $@`
167   - @$(AR) rcs $@ $^
  325 + @echo $< ...
  326 + @$(LD) \
  327 + -shared -Wl,-soname,$(@F) \
  328 + -o $@ \
  329 + $(LDFLAGS) \
  330 + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) \
  331 + $(LIBS)
168 332  
169   -#---[ Clean Targets]---------------------------------------------------------------------
  333 +#---[ Clean Targets ]--------------------------------------------------------------------
  334 +
  335 +clean: \
  336 + cleanDebug \
  337 + cleanRelease
  338 +
  339 + @rm -fr $(BASEDIR)/.tmp/$(LIBNAME)
  340 + @rm -fr $(POTDIR)/$(LIBNAME)
170 341  
171 342 cleanDebug:
172 343  
173   - @rm -fr $(BASEDIR)/.obj/Debug/$(MODULE_NAME).a \
174   - $(OBJDBG)
  344 + @rm -fr $(OBJDBG)
  345 + @rm -fr $(BINDBG)
175 346  
176 347 cleanRelease:
177 348  
178   - @rm -fr $(BASEDIR)/.obj/Release/$(MODULE_NAME).a \
179   - $(OBJRLS)
180   -
  349 + @rm -fr $(OBJRLS)
  350 + @rm -fr $(BINRLS)
181 351 @rm -fr $(POTDIR)
  352 + @rm -f lib$(LIBNAME).pot
182 353  
183 354 clean: \
184 355 cleanDebug \
185 356 cleanRelease
186 357  
187   -
  358 +
... ...
autogen.sh 0 → 100755
... ... @@ -0,0 +1,29 @@
  1 +#!/bin/bash
  2 +
  3 +test -n "$srcdir" || srcdir=`dirname "$0"`
  4 +test -n "$srcdir" || srcdir=.
  5 +
  6 +olddir=`pwd`
  7 +cd "$srcdir"
  8 +
  9 +aclocal
  10 +if test $? != 0 ; then
  11 + echo "aclocal failed."
  12 + exit -1
  13 +fi
  14 +
  15 +autoconf
  16 +if test $? != 0 ; then
  17 + echo "autoconf failed."
  18 + exit -1
  19 +fi
  20 +
  21 +mkdir -p scripts
  22 +automake --add-missing 2> /dev/null | true
  23 +
  24 +cd "$olddir"
  25 +test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
  26 +
  27 +
  28 +
  29 +
... ...