Commit 14e51220e0747c9f23aed2e2e2edbf196f387bd0

Authored by Perry Werneck
1 parent ec7cd4d8

Atualizando Makefile.

Showing 3 changed files with 107 additions and 174 deletions   Show diff stats
Makefile.in
... ... @@ -24,64 +24,66 @@
24 24 # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
25 25 #
26 26  
27   -LIBNAME=lib@LIB3270_NAME@@DLLEXT@
  27 +#---[ Library configuration ]------------------------------------------------------------
28 28  
29   -SOURCES = bounds.c ctlr.c util.c toggles.c screen.c selection.c kybd.c telnet.c \
30   - iocalls.c connect.c \
31   - host.c sf.c ansi.c resolver.c charset.c \
32   - version.c session.c state.c html.c trace_ds.c see.c \
33   - paste.c ssl.c actions.c \
34   - ft.c ft_cut.c ft_dft.c glue.c resources.c \
35   - rpq.c macros.c fallbacks.c log.c options.c
  29 +LIBNAME=@LIB3270_NAME@
36 30  
37   -#---[ Configuration values ]-------------------------------------------------------------
  31 +SOURCES= \
  32 + $(wildcard src/lib3270/*.c) \
  33 + $(wildcard src/lib3270/@OSNAME@/*.c) \
  34 + $(wildcard src/lib3270/@OSNAME@/*.rc)
38 35  
39   -PACKAGE_NAME=@PACKAGE_NAME@
40   -PACKAGE_VERSION=@PACKAGE_VERSION@
41   -PACKAGE_TARNAME=@PACKAGE_TARNAME@
  36 +#---[ Tools ]----------------------------------------------------------------------------
  37 +
  38 +CC=@CC@
  39 +LD=@CC@
  40 +LN_S=@LN_S@
  41 +MKDIR=@MKDIR_P@
  42 +
  43 +#---[ Paths ]----------------------------------------------------------------------------
42 44  
43 45 prefix=@prefix@
44 46 exec_prefix=@exec_prefix@
45 47 bindir=@bindir@
46 48 sbindir=@sbindir@
47 49 libdir=@libdir@
  50 +includedir=@includedir@
  51 +datarootdir=@datarootdir@
  52 +localedir=@localedir@
  53 +docdir=@docdir@
  54 +sysconfdir=@sysconfdir@
48 55  
49 56 BASEDIR=@BASEDIR@
50   -SRCDIR=$(BASEDIR)/.src/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/src/lib3270
51   -POTDIR=$(BASEDIR)/.pot/lib3270
52 57  
53   -OBJDIR=$(BASEDIR)/.obj/lib3270
  58 +OBJDIR=$(BASEDIR)/.obj/@DLLPREFIX@$(LIBNAME)
54 59 OBJDBG=$(OBJDIR)/Debug
55 60 OBJRLS=$(OBJDIR)/Release
56 61  
57   -BINDIR=$(BASEDIR)/.bin
  62 +BINDIR=$(BASEDIR)/.bin/@DLLPREFIX@$(LIBNAME)
58 63 BINDBG=$(BINDIR)/Debug
59 64 BINRLS=$(BINDIR)/Release
60 65  
61   -INSTALL=@INSTALL@
62   -INSTALL_DATA=@INSTALL_DATA@
63   -INSTALL_PROGRAM=@INSTALL_PROGRAM@
64   -
65   -LN_S=@LN_S@
  66 +#---[ Rules ]----------------------------------------------------------------------------
66 67  
67   -AMTAR=@AMTAR@
68   -SHELL=@SHELL@
69   -MKDIR=@MKDIR_P@
70   -XGETTEXT=@XGETTEXT@
71   -MSGCAT=@MSGCAT@
72   -VALGRIND=@VALGRIND@
  68 +DEPENDS= \
  69 + Makefile \
  70 + src/include/*.h \
  71 + src/include/lib3270/*.h \
  72 + src/lib3270/*.h
73 73  
74   -CC=@CC@
75   -HOST_CC=@HOST_CC@
76   -LD=@CC@
77 74  
78   -CFLAGS=@CFLAGS@ @LIB3270_CFLAGS@ @LIBSSL_CFLAGS@
79   -LIBS=@LIBS@ @LIBSSL_LIBS@ @LIBICONV@ @INTL_LIBS@
80   -LDFLAGS=@LDFLAGS@
  75 +CFLAGS= \
  76 + @CFLAGS@ \
  77 + -g \
  78 + -Isrc/include
  79 + -DBUILD_DATE=`date +%Y%m%d` \
  80 + @LIBSSL_CFLAGS@
81 81  
82   -#---[ Rules ]----------------------------------------------------------------------------
  82 +LIBS= \
  83 + @LIBS@ \
  84 + @LIBSSL_LIBS@
83 85  
84   -DEPENDS=$(BASEDIR)/src/include/*.h $(BASEDIR)/src/include/lib3270/*.h *.h Makefile
  86 +#---[ Debug Rules ]----------------------------------------------------------------------
85 87  
86 88 $(OBJDBG)/%.o: \
87 89 %.c \
... ... @@ -89,10 +91,12 @@ $(OBJDBG)/%.o: \
89 91  
90 92 @echo $< ...
91 93 @$(MKDIR) `dirname $@`
92   - @$(CC) $(CFLAGS) \
93   - @DBG_CFLAGS@ \
94   - -DBUILD_DATE=`date +"0x%Y%m%d"`\
95   - -o $@ -c $<
  94 + @$(CC) \
  95 + $(CFLAGS) \
  96 + -Wall -Wextra -fstack-check -DDEBUG=1 \
  97 + -o $@ -c $<
  98 +
  99 +#---[ Release Rules ]--------------------------------------------------------------------
96 100  
97 101 $(OBJRLS)/%.o: \
98 102 %.c \
... ... @@ -100,177 +104,101 @@ $(OBJRLS)/%.o: \
100 104  
101 105 @echo $< ...
102 106 @$(MKDIR) `dirname $@`
103   - @$(CC) $(CFLAGS) \
104   - @RLS_CFLAGS@ \
105   - -DBUILD_DATE=`date +"0x%Y%m%d"` \
106   - -o $@ -c $<
107   -
108   -
109   -$(POTDIR)/%.pot: %.c
110   -
111   - @echo $(notdir $@) ...
112   - @$(MKDIR) `dirname $@`
113   - @$(XGETTEXT) \
114   - --default-domain=$(PACKAGE) \
115   - --language=C \
116   - --keyword=_ \
117   - --keyword=N_ \
118   - --keyword=MSG_:2 \
119   - --output=$@ \
120   - $<
121   -
122   - @touch $@
  107 + @$(CC) \
  108 + $(CFLAGS) \
  109 + -DNDEBUG=1 \
  110 + -o $@ -c $<
123 111  
124 112 #---[ Release Targets ]------------------------------------------------------------------
125 113  
126 114 all: \
127   - $(BINRLS)/$(LIBNAME)
  115 + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@
128 116  
129 117 Release: \
130   - $(BINRLS)/$(LIBNAME)
  118 + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@
131 119  
132   -$(BASEDIR)/.pot/lib@LIB3270_NAME@.pot: \
133   - $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(SRC).pot)
  120 +$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@: \
  121 + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@
134 122  
  123 + @echo $< ...
135 124 @rm -f $@
136   - @mkdir -p `dirname $@`
137   - @$(MSGCAT) --sort-output $^ > $@
138   -
139   -$(BINRLS)/$(LIBNAME): \
140   - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@
  125 + @$(LN_S) \
  126 + @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \
  127 + $@
141 128  
142   - @echo $(basename $@) ...
143   - @$(MKDIR) `dirname $@`
144   - @$(LN_S) -f $(LIBNAME).@PACKAGE_MAJOR_VERSION@ $@
145   -
146   -$(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@: \
147   - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
  129 +$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \
  130 + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
148 131  
149   - @echo $(basename $@) ...
150   - @$(MKDIR) `dirname $@`
151   - @$(LN_S) -f $(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ $@
  132 + @rm -f $@
  133 + @$(LN_S) \
  134 + @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
  135 + $@
152 136  
153   -$(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
  137 +$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
154 138 $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
155 139  
156   - @echo $(basename $@) ...
157 140 @$(MKDIR) `dirname $@`
158   - @$(LD) -shared -Wl,-soname,$(@F) $(LDFLAGS) -o $@ $^ $(LIBS)
159   -
160   -install: \
161   - $(BINRLS)/$(LIBNAME)
162   -
163   - @$(MKDIR) $(DESTDIR)$(libdir)
164   -
165   - @$(INSTALL_PROGRAM) \
166   - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
167   - $(DESTDIR)$(libdir)
  141 + @echo $< ...
  142 + @$(LD) \
  143 + -shared -Wl,-soname,$(@F) \
  144 + -o $@ \
  145 + $(LDFLAGS) \
  146 + $(LIBS)
168 147  
169   - @$(LN_S) -f \
170   - $(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
171   - $(DESTDIR)$(libdir)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@
  148 +#---[ Install Targets ]------------------------------------------------------------------
172 149  
173   - @$(LN_S) -f \
174   - $(LIBNAME).@PACKAGE_MAJOR_VERSION@ \
175   - $(DESTDIR)$(libdir)/$(LIBNAME)
176 150  
177 151 #---[ Debug Targets ]--------------------------------------------------------------------
178 152  
179 153 Debug: \
180   - $(BINDBG)/$(LIBNAME)
181   -
182   -$(BINDBG)/$(LIBNAME): \
183   - $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@
184   -
185   - @echo $(basename $@) ...
186   - @$(MKDIR) `dirname $@`
187   - @$(LN_S) -f $(LIBNAME).@PACKAGE_MAJOR_VERSION@ $@
188   -
189   -$(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@: \
190   - $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
191   -
192   - @echo $(basename $@) ...
193   - @$(MKDIR) `dirname $@`
194   - @$(LN_S) -f $(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ $@
  154 + $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@
195 155  
196   -$(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
197   - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
198   -
199   - @echo $(basename $@) ...
200   - @$(MKDIR) `dirname $@`
201   - @$(LD) -shared -Wl,-soname,$(@F) $(LDFLAGS) -o $@ $^ $(LIBS)
202   -
203   -#---[ Misc Targets ]---------------------------------------------------------------------
  156 +$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@: \
  157 + $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@
204 158  
205   -fallbacks.c: \
206   - X3270.xad \
207   - mkfb.c
208   -
209   - @echo $(basename $@) ...
210   - @$(MKDIR) $(BINDIR)
211   - @$(HOST_CC) -g -o $(BINDIR)/mkfb@EXEEXT@ mkfb.c
212   - @$(BINDIR)/mkfb@EXEEXT@ -c X3270.xad $@
  159 + @echo $< ...
  160 + @rm -f $@
  161 + @$(LN_S) \
  162 + @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \
  163 + $@
213 164  
214   -version.c: \
215   - ./mkversion.sh
  165 +$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \
  166 + $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
216 167  
217   - @echo $(basename $@) ...
218   - @chmod +x ./mkversion.sh
219   - @./mkversion.sh
  168 + @rm -f $@
  169 + @$(LN_S) \
  170 + @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
  171 + $@
220 172  
221   -$(BINDBG)/testprogram$(EXEEXT): \
222   - $(OBJDBG)/testprogram.o \
  173 +$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
223 174 $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
224 175  
225   - @echo $(basename $@) ...
226 176 @$(MKDIR) `dirname $@`
227   - @$(LD) -o $@ $^ $(LIBS)
228   -
229   -run: \
230   - $(BINDBG)/testprogram$(EXEEXT)
231   -
232   -ifeq ($(VALGRIND),no)
233   - @cd "$(ROOTDIR)" ; .bin/Debug/testprogram$(EXEEXT)
234   -else
235   - @cd "$(ROOTDIR)" ; \$(VALGRIND) --leak-check=full --gen-suppressions=all $(BINDBG)/testprogram$(EXEEXT)
236   -endif
237   -
238   -$(SRCDIR): \
239   - clean
240   -
241   - @$(MKDIR) $@
242   - @$(INSTALL_DATA) *.c *.h *.in *.cbp *.xad $@
  177 + @echo $< ...
  178 + @$(LD) \
  179 + -shared -Wl,-soname,$(@F) \
  180 + -o $@ \
  181 + $(LDFLAGS) \
  182 + $(LIBS)
243 183  
  184 +#---[ Clean Targets ]--------------------------------------------------------------------
244 185  
245   -#---[ Clean Targets]---------------------------------------------------------------------
  186 +clean: \
  187 + cleanDebug \
  188 + cleanRelease
246 189  
247 190 cleanDebug:
248 191  
249   - @rm -fr $(OBJDBG) \
250   - $(BINDBG)/$(LIBNAME) \
251   - $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@ \
252   - $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
253   -
254   - @rm -f \
255   - fallbacks.c \
256   - version.c
  192 + @rm -fr $(OBJDBG)
  193 + @rm -fr $(BINDBG)
257 194  
258 195 cleanRelease:
259 196  
260   - @rm -fr $(OBJRLS) \
261   - $(BINRLS)/$(LIBNAME) \
262   - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@ \
263   - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
264   - $(POTDIR)
  197 + @rm -fr $(OBJRLS)
  198 + @rm -fr $(BINRLS)
265 199  
266   - @rm -f \
267   - fallbacks.c \
268   - version.c
269 200 clean: \
270 201 cleanDebug \
271 202 cleanRelease
272 203  
273 204  
274   -
275   -
276   -
... ...
configure.ac
... ... @@ -74,6 +74,7 @@ dnl ---------------------------------------------------------------------------
74 74  
75 75 case "$host" in
76 76 *-mingw32)
  77 + app_cv_osname="windows"
77 78 CFLAGS="$CFLAGS -pthread -D_WIN32_WINNT=0x0600"
78 79 LDFLAGS="$LDFLAGS -pthread -static-libgcc -static-libstdc++"
79 80 DLLEXT=".dll"
... ... @@ -84,6 +85,7 @@ case &quot;$host&quot; in
84 85 LDFLAGS="$LDFLAGS -pthread"
85 86 app_cv_datadir="/usr/share"
86 87 app_cv_confdir="/etc"
  88 + app_cv_osname="linux"
87 89 LOGDIR="/var/log"
88 90 ;;
89 91  
... ... @@ -92,6 +94,7 @@ case &quot;$host&quot; in
92 94 LDFLAGS="$LDFLAGS -pthread"
93 95 app_cv_datadir="/usr/share"
94 96 app_cv_confdir="/etc"
  97 + app_cv_osname="linux"
95 98 LOGDIR="/var/log"
96 99 DLLEXT=".so"
97 100 DLLPREFIX="lib"
... ... @@ -100,6 +103,7 @@ esac
100 103  
101 104 AC_SUBST(DATADIR,$app_cv_datadir)
102 105 AC_SUBST(CONFDIR,$app_cv_confdir)
  106 +AC_SUBST(OSNAME,$app_cv_confdir)
103 107 AC_SUBST(LIBS)
104 108 AC_SUBST(LOGDIR)
105 109 AC_SUBST(DLLEXT)
... ... @@ -364,7 +368,7 @@ dnl Configure which files to generate.
364 368 dnl ---------------------------------------------------------------------------
365 369  
366 370 AC_CONFIG_FILES(sdk/lib3270.pc)
367   -dnl AC_CONFIG_FILES(Makefile)
  371 +AC_CONFIG_FILES(Makefile)
368 372  
369 373 dnl ---------------------------------------------------------------------------
370 374 dnl Output the generated config.status script.
... ...
lib3270.cbp
... ... @@ -3,20 +3,21 @@
3 3 <FileVersion major="1" minor="6" />
4 4 <Project>
5 5 <Option title="3270 C Access Library" />
  6 + <Option makefile_is_custom="1" />
6 7 <Option pch_mode="2" />
7 8 <Option compiler="gcc" />
8 9 <Build>
9 10 <Target title="Debug">
10   - <Option output=".bin/Debug/3270 C Access Library" prefix_auto="1" extension_auto="1" />
  11 + <Option output=".bin/lib3270/Debug/3270" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="1" extension_auto="1" />
11 12 <Option object_output=".obj/Debug/" />
12   - <Option type="1" />
  13 + <Option type="3" />
13 14 <Option compiler="gcc" />
14 15 <Compiler>
15 16 <Add option="-g" />
16 17 </Compiler>
17 18 </Target>
18 19 <Target title="Release">
19   - <Option output=".bin/Release/3270 C Access Library" prefix_auto="1" extension_auto="1" />
  20 + <Option output=".bin/lib3270/Release/lib3270" prefix_auto="1" extension_auto="1" />
20 21 <Option object_output=".obj/Release/" />
21 22 <Option type="1" />
22 23 <Option compiler="gcc" />
... ...