Commit c5ab786071711eb4b85a0ed11fe1be61ad52223f
1 parent
3d452141
Exists in
master
and in
1 other branch
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 | + | ... | ... |
... | ... | @@ -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 | + | ... | ... |