Commit 14e51220e0747c9f23aed2e2e2edbf196f387bd0

Authored by Perry Werneck
1 parent ec7cd4d8

Atualizando Makefile.

Showing 3 changed files with 107 additions and 174 deletions   Show diff stats
@@ -24,64 +24,66 @@ @@ -24,64 +24,66 @@
24 # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) 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 prefix=@prefix@ 45 prefix=@prefix@
44 exec_prefix=@exec_prefix@ 46 exec_prefix=@exec_prefix@
45 bindir=@bindir@ 47 bindir=@bindir@
46 sbindir=@sbindir@ 48 sbindir=@sbindir@
47 libdir=@libdir@ 49 libdir=@libdir@
  50 +includedir=@includedir@
  51 +datarootdir=@datarootdir@
  52 +localedir=@localedir@
  53 +docdir=@docdir@
  54 +sysconfdir=@sysconfdir@
48 55
49 BASEDIR=@BASEDIR@ 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 OBJDBG=$(OBJDIR)/Debug 59 OBJDBG=$(OBJDIR)/Debug
55 OBJRLS=$(OBJDIR)/Release 60 OBJRLS=$(OBJDIR)/Release
56 61
57 -BINDIR=$(BASEDIR)/.bin 62 +BINDIR=$(BASEDIR)/.bin/@DLLPREFIX@$(LIBNAME)
58 BINDBG=$(BINDIR)/Debug 63 BINDBG=$(BINDIR)/Debug
59 BINRLS=$(BINDIR)/Release 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 $(OBJDBG)/%.o: \ 88 $(OBJDBG)/%.o: \
87 %.c \ 89 %.c \
@@ -89,10 +91,12 @@ $(OBJDBG)/%.o: \ @@ -89,10 +91,12 @@ $(OBJDBG)/%.o: \
89 91
90 @echo $< ... 92 @echo $< ...
91 @$(MKDIR) `dirname $@` 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 $(OBJRLS)/%.o: \ 101 $(OBJRLS)/%.o: \
98 %.c \ 102 %.c \
@@ -100,177 +104,101 @@ $(OBJRLS)/%.o: \ @@ -100,177 +104,101 @@ $(OBJRLS)/%.o: \
100 104
101 @echo $< ... 105 @echo $< ...
102 @$(MKDIR) `dirname $@` 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 #---[ Release Targets ]------------------------------------------------------------------ 112 #---[ Release Targets ]------------------------------------------------------------------
125 113
126 all: \ 114 all: \
127 - $(BINRLS)/$(LIBNAME) 115 + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@
128 116
129 Release: \ 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 @rm -f $@ 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 $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) 138 $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
155 139
156 - @echo $(basename $@) ...  
157 @$(MKDIR) `dirname $@` 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 #---[ Debug Targets ]-------------------------------------------------------------------- 151 #---[ Debug Targets ]--------------------------------------------------------------------
178 152
179 Debug: \ 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 $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) 174 $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
224 175
225 - @echo $(basename $@) ...  
226 @$(MKDIR) `dirname $@` 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 cleanDebug: 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 cleanRelease: 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 clean: \ 200 clean: \
270 cleanDebug \ 201 cleanDebug \
271 cleanRelease 202 cleanRelease
272 203
273 204
274 -  
275 -  
276 -  
@@ -74,6 +74,7 @@ dnl --------------------------------------------------------------------------- @@ -74,6 +74,7 @@ dnl ---------------------------------------------------------------------------
74 74
75 case "$host" in 75 case "$host" in
76 *-mingw32) 76 *-mingw32)
  77 + app_cv_osname="windows"
77 CFLAGS="$CFLAGS -pthread -D_WIN32_WINNT=0x0600" 78 CFLAGS="$CFLAGS -pthread -D_WIN32_WINNT=0x0600"
78 LDFLAGS="$LDFLAGS -pthread -static-libgcc -static-libstdc++" 79 LDFLAGS="$LDFLAGS -pthread -static-libgcc -static-libstdc++"
79 DLLEXT=".dll" 80 DLLEXT=".dll"
@@ -84,6 +85,7 @@ case &quot;$host&quot; in @@ -84,6 +85,7 @@ case &quot;$host&quot; in
84 LDFLAGS="$LDFLAGS -pthread" 85 LDFLAGS="$LDFLAGS -pthread"
85 app_cv_datadir="/usr/share" 86 app_cv_datadir="/usr/share"
86 app_cv_confdir="/etc" 87 app_cv_confdir="/etc"
  88 + app_cv_osname="linux"
87 LOGDIR="/var/log" 89 LOGDIR="/var/log"
88 ;; 90 ;;
89 91
@@ -92,6 +94,7 @@ case &quot;$host&quot; in @@ -92,6 +94,7 @@ case &quot;$host&quot; in
92 LDFLAGS="$LDFLAGS -pthread" 94 LDFLAGS="$LDFLAGS -pthread"
93 app_cv_datadir="/usr/share" 95 app_cv_datadir="/usr/share"
94 app_cv_confdir="/etc" 96 app_cv_confdir="/etc"
  97 + app_cv_osname="linux"
95 LOGDIR="/var/log" 98 LOGDIR="/var/log"
96 DLLEXT=".so" 99 DLLEXT=".so"
97 DLLPREFIX="lib" 100 DLLPREFIX="lib"
@@ -100,6 +103,7 @@ esac @@ -100,6 +103,7 @@ esac
100 103
101 AC_SUBST(DATADIR,$app_cv_datadir) 104 AC_SUBST(DATADIR,$app_cv_datadir)
102 AC_SUBST(CONFDIR,$app_cv_confdir) 105 AC_SUBST(CONFDIR,$app_cv_confdir)
  106 +AC_SUBST(OSNAME,$app_cv_confdir)
103 AC_SUBST(LIBS) 107 AC_SUBST(LIBS)
104 AC_SUBST(LOGDIR) 108 AC_SUBST(LOGDIR)
105 AC_SUBST(DLLEXT) 109 AC_SUBST(DLLEXT)
@@ -364,7 +368,7 @@ dnl Configure which files to generate. @@ -364,7 +368,7 @@ dnl Configure which files to generate.
364 dnl --------------------------------------------------------------------------- 368 dnl ---------------------------------------------------------------------------
365 369
366 AC_CONFIG_FILES(sdk/lib3270.pc) 370 AC_CONFIG_FILES(sdk/lib3270.pc)
367 -dnl AC_CONFIG_FILES(Makefile) 371 +AC_CONFIG_FILES(Makefile)
368 372
369 dnl --------------------------------------------------------------------------- 373 dnl ---------------------------------------------------------------------------
370 dnl Output the generated config.status script. 374 dnl Output the generated config.status script.
@@ -3,20 +3,21 @@ @@ -3,20 +3,21 @@
3 <FileVersion major="1" minor="6" /> 3 <FileVersion major="1" minor="6" />
4 <Project> 4 <Project>
5 <Option title="3270 C Access Library" /> 5 <Option title="3270 C Access Library" />
  6 + <Option makefile_is_custom="1" />
6 <Option pch_mode="2" /> 7 <Option pch_mode="2" />
7 <Option compiler="gcc" /> 8 <Option compiler="gcc" />
8 <Build> 9 <Build>
9 <Target title="Debug"> 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 <Option object_output=".obj/Debug/" /> 12 <Option object_output=".obj/Debug/" />
12 - <Option type="1" /> 13 + <Option type="3" />
13 <Option compiler="gcc" /> 14 <Option compiler="gcc" />
14 <Compiler> 15 <Compiler>
15 <Add option="-g" /> 16 <Add option="-g" />
16 </Compiler> 17 </Compiler>
17 </Target> 18 </Target>
18 <Target title="Release"> 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 <Option object_output=".obj/Release/" /> 21 <Option object_output=".obj/Release/" />
21 <Option type="1" /> 22 <Option type="1" />
22 <Option compiler="gcc" /> 23 <Option compiler="gcc" />