Commit 38ac9f16744616edbe4e4d1549e3fd71cdb4cfce

Authored by Perry Werneck
1 parent 4ee48893

Remodelando Makefiles.

configure.ac
... ... @@ -57,6 +57,7 @@ AC_PROG_CC
57 57 AC_PROG_SED
58 58 AC_PROG_LN_S
59 59 AC_PATH_TOOL([AR], [ar], [ar])
  60 +AC_PATH_TOOL([GENMARSHAL], [glib-genmarshal], [glib-genmarshal])
60 61  
61 62 AC_LANG([C])
62 63  
... ... @@ -320,6 +321,9 @@ AC_CONFIG_FILES(src/lib3270/Makefile)
320 321  
321 322 AC_CONFIG_FILES(src/pw3270/Makefile)
322 323 AC_CONFIG_FILES(src/pw3270/v3270/Makefile)
  324 +AC_CONFIG_FILES(src/pw3270/v3270ft/Makefile)
  325 +AC_CONFIG_FILES(src/pw3270/uiparser/Makefile)
  326 +AC_CONFIG_FILES(src/pw3270/common/Makefile)
323 327  
324 328 dnl AC_CONFIG_FILES(Makefile)
325 329  
... ...
src/lib3270/Makefile.in
... ... @@ -127,7 +127,7 @@ $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
127 127  
128 128 @echo $(basename $@) ...
129 129 @$(MKDIR) `dirname $@`
130   - @$(LD) -shared -Wl,-soname,$(LIBNAME) $(LDFLAGS) -o $@ $^ $(LIBS)
  130 + @$(LD) -shared -Wl,-soname,$(@F) $(LDFLAGS) -o $@ $^ $(LIBS)
131 131  
132 132 #---[ Debug Targets ]--------------------------------------------------------------------
133 133  
... ... @@ -153,7 +153,7 @@ $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
153 153  
154 154 @echo $(basename $@) ...
155 155 @$(MKDIR) `dirname $@`
156   - @$(LD) -shared -Wl,-soname,$(LIBNAME) $(LDFLAGS) -o $@ $^ $(LIBS)
  156 + @$(LD) -shared -Wl,-soname,$(@F) $(LDFLAGS) -o $@ $^ $(LIBS)
157 157  
158 158 #---[ Clean Targets]---------------------------------------------------------------------
159 159  
... ...
src/pw3270/Makefile.in
... ... @@ -24,11 +24,13 @@
24 24 # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
25 25 #
26 26  
27   -LIBNAME=@DLLPREFIX@pw3270@DLLEXT@
  27 +LIBNAME=@DLLPREFIX@@PACKAGE_TARNAME@@DLLEXT@
28 28  
29 29 LIB_SOURCES=window.c actions.c fonts.c dialog.c hostdialog.c print.c colors.c
30 30 APP_SOURCES=main.c
31 31  
  32 +MODULES=v3270 uiparser v3270ft common
  33 +
32 34 #---[ Configuration values ]-------------------------------------------------------------
33 35  
34 36 PACKAGE_NAME=@PACKAGE_NAME@
... ... @@ -108,7 +110,14 @@ $(OBJRLS)/%.o: \
108 110 #---[ Debug Targets ]--------------------------------------------------------------------
109 111  
110 112 Debug: \
111   - $(BINDBG)/$(LIBNAME)
  113 + $(BINDBG)/$(PACKAGE_TARNAME)$(EXEEXT)
  114 +
  115 +
  116 +$(BINDBG)/$(PACKAGE_TARNAME)$(EXEEXT): \
  117 + $(BINDBG)/$(LIBNAME) \
  118 + $(foreach SRC, $(basename $(APP_SOURCES)), $(OBJDBG)/$(SRC).o)
  119 +
  120 + $(LD) -o $@ $^ -L$(BINDBG) $(LIBS) -l@PACKAGE_TARNAME@
112 121  
113 122 $(BINDBG)/$(LIBNAME): \
114 123 $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@
... ... @@ -126,11 +135,11 @@ $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@: \
126 135  
127 136 $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
128 137 $(foreach SRC, $(basename $(LIB_SOURCES)), $(OBJDBG)/$(SRC).o) \
129   - $(BASEDIR)/.obj/Debug/v3270.a
  138 + $(foreach MOD, $(MODULES), $(BASEDIR)/.obj/Debug/$(MOD).a)
130 139  
131 140 @echo $(basename $@) ...
132 141 @$(MKDIR) `dirname $@`
133   - @$(LD) -shared -Wl,-soname,$(LIBNAME) $(LDFLAGS) -L$(BINDBG) -o $@ $^ $(LIBS)
  142 + @$(LD) -shared -Wl,-soname,$(@F) $(LDFLAGS) -L$(BINDBG) -o $@ $^ $(LIBS)
134 143  
135 144  
136 145 #---[ Clean Targets]---------------------------------------------------------------------
... ... @@ -143,6 +152,9 @@ cleanDebug:
143 152 $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
144 153  
145 154 @make -C v3270 cleanDebug
  155 + @make -C v3270ft cleanDebug
  156 + @make -C uiparser cleanDebug
  157 + @make -C common cleanDebug
146 158  
147 159 cleanRelease:
148 160  
... ... @@ -152,6 +164,9 @@ cleanRelease:
152 164 $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
153 165  
154 166 @make -C v3270 cleanRelease
  167 + @make -C v3270ft cleanRelease
  168 + @make -C uiparser cleanRelease
  169 + @make -C common cleanRelease
155 170  
156 171 clean: \
157 172 cleanDebug \
... ...
src/pw3270/common/Makefile.in 0 → 100644
... ... @@ -0,0 +1,123 @@
  1 +#
  2 +# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 +# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 +# aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 +#
  6 +# Copyright (C) <2008> <Banco do Brasil S.A.>
  7 +#
  8 +# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 +# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 +# Free Software Foundation.
  11 +#
  12 +# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 +# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 +# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 +# obter mais detalhes.
  16 +#
  17 +# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 +# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
  19 +# Place, Suite 330, Boston, MA, 02111-1307, USA
  20 +#
  21 +# Contatos:
  22 +#
  23 +# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  24 +# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
  25 +#
  26 +
  27 +MODULE_NAME=common
  28 +
  29 +SOURCES=config.c
  30 +
  31 +#---[ Configuration values ]-------------------------------------------------------------
  32 +
  33 +PACKAGE_NAME=@PACKAGE_NAME@
  34 +PACKAGE_VERSION=@PACKAGE_VERSION@
  35 +PACKAGE_TARNAME=@PACKAGE_TARNAME@
  36 +
  37 +prefix=@prefix@
  38 +exec_prefix=@exec_prefix@
  39 +bindir=@bindir@
  40 +sbindir=@sbindir@
  41 +libdir=@libdir@
  42 +
  43 +BASEDIR=@BASEDIR@
  44 +
  45 +OBJDIR=.obj
  46 +OBJDBG=$(OBJDIR)/Debug
  47 +OBJRLS=$(OBJDIR)/Release
  48 +
  49 +MKDIR=@MKDIR_P@
  50 +CC=@CC@
  51 +LD=@CC@
  52 +AR=@AR@
  53 +
  54 +CFLAGS=@CFLAGS@ @LIB3270_CFLAGS@ -Wno-deprecated-declarations @GTK_CFLAGS@ -I$(BASEDIR)/src/include/pw3270
  55 +LIBS=@LIBS@ @GTK_LIBS@ @LIB3270_LIBS@
  56 +
  57 +#---[ Rules ]----------------------------------------------------------------------------
  58 +
  59 +DEPENDS=$(BASEDIR)/src/include/*.h $(BASEDIR)/src/include/lib3270/*.h $(BASEDIR)/src/include/pw3270/*.h *.h Makefile
  60 +
  61 +$(OBJDBG)/%.o: \
  62 + %.c \
  63 + $(DEPENDS)
  64 +
  65 + @echo $< ...
  66 + @$(MKDIR) `dirname $@`
  67 + @$(CC) $(CFLAGS) \
  68 + @DBG_CFLAGS@ \
  69 + -DBUILD_DATE=`date +"0x%Y%m%d"`\
  70 + -o $@ -c $<
  71 +
  72 +$(OBJRLS)/%.o: \
  73 + %.c \
  74 + $(DEPENDS)
  75 +
  76 + @echo $< ...
  77 + @$(MKDIR) `dirname $@`
  78 + @$(CC) $(CFLAGS) \
  79 + @RLS_CFLAGS@ \
  80 + -DBUILD_DATE=`date +"0x%Y%m%d"` \
  81 + -o $@ -c $<
  82 +
  83 +#---[ Release Targets ]------------------------------------------------------------------
  84 +
  85 +Release: \
  86 + $(BASEDIR)/.obj/Release/$(MODULE_NAME).a
  87 +
  88 +$(BASEDIR)/.obj/Release/$(MODULE_NAME).a: \
  89 + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
  90 +
  91 + @echo $@ ...
  92 + @$(MKDIR) `dirname $@`
  93 + @$(AR) rcs $@ $^
  94 +
  95 +#---[ Debug Targets ]--------------------------------------------------------------------
  96 +
  97 +Debug: \
  98 + $(BASEDIR)/.obj/Debug/$(MODULE_NAME).a
  99 +
  100 +$(BASEDIR)/.obj/Debug/$(MODULE_NAME).a: \
  101 + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
  102 +
  103 + @echo $@ ...
  104 + @$(MKDIR) `dirname $@`
  105 + @$(AR) rcs $@ $^
  106 +
  107 +#---[ Clean Targets]---------------------------------------------------------------------
  108 +
  109 +cleanDebug:
  110 +
  111 + @rm -fr $(BASEDIR)/.obj/Debug/$(MODULE_NAME).a \
  112 + $(OBJDBG)
  113 +
  114 +cleanRelease:
  115 +
  116 + @rm -fr $(BASEDIR)/.obj/Release/$(MODULE_NAME).a \
  117 + $(OBJRLS)
  118 +
  119 +clean: \
  120 + cleanDebug \
  121 + cleanRelease
  122 +
  123 +
... ...
src/pw3270/common/sources.mak
... ... @@ -1,2 +0,0 @@
1   -COMMON_SRC=config.c
2   -
src/pw3270/uiparser/Makefile.in
... ... @@ -22,61 +22,118 @@
22 22 #
23 23 # perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
24 24 # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
25   -# licinio@bb.com.br (Licínio Luis Branco)
26   -# kraucer@bb.com.br (Kraucer Fernandes Mazuco)
27 25 #
28 26  
29   -PACKAGE_NAME=@PACKAGE_NAME@
  27 +MODULE_NAME=uiparser
  28 +
  29 +SOURCES=accelerator.c action.c menubar.c menu.c menuitem.c parser.c \
  30 + parsefile.c separator.c toolbar.c toolitem.c popup.c script.c \
  31 + scroll.c keypad.c button.c
  32 +
  33 +#---[ Configuration values ]-------------------------------------------------------------
30 34  
31   -#---[ Paths & Tools ]----------------------------------------------------------
  35 +PACKAGE_NAME=@PACKAGE_NAME@
  36 +PACKAGE_VERSION=@PACKAGE_VERSION@
  37 +PACKAGE_TARNAME=@PACKAGE_TARNAME@
32 38  
33 39 prefix=@prefix@
34 40 exec_prefix=@exec_prefix@
35 41 bindir=@bindir@
36 42 sbindir=@sbindir@
37 43 libdir=@libdir@
38   -includedir=@includedir@
39   -datarootdir=@datarootdir@
40   -localedir=@localedir@
41   -docdir=@docdir@
42   -sysconfdir=@sysconfdir@
43 44  
44   -VALGRIND=@VALGRIND@
  45 +BASEDIR=@BASEDIR@
  46 +
  47 +OBJDIR=.obj
  48 +OBJDBG=$(OBJDIR)/Debug
  49 +OBJRLS=$(OBJDIR)/Release
  50 +
  51 +MKDIR=@MKDIR_P@
  52 +CC=@CC@
  53 +LD=@CC@
  54 +AR=@AR@
  55 +
  56 +CFLAGS=@CFLAGS@ @LIB3270_CFLAGS@ -Wno-deprecated-declarations @GTK_CFLAGS@ -I$(BASEDIR)/src/include/pw3270
  57 +LIBS=@LIBS@ @GTK_LIBS@ @LIB3270_LIBS@
  58 +
  59 +#---[ Rules ]----------------------------------------------------------------------------
  60 +
  61 +DEPENDS=$(BASEDIR)/src/include/*.h $(BASEDIR)/src/include/lib3270/*.h $(BASEDIR)/src/include/pw3270/*.h *.h Makefile
  62 +
  63 +$(OBJDBG)/%.o: \
  64 + %.c \
  65 + $(DEPENDS)
  66 +
  67 + @echo $< ...
  68 + @$(MKDIR) `dirname $@`
  69 + @$(CC) $(CFLAGS) \
  70 + @DBG_CFLAGS@ \
  71 + -DBUILD_DATE=`date +"0x%Y%m%d"`\
  72 + -o $@ -c $<
  73 +
  74 +$(OBJRLS)/%.o: \
  75 + %.c \
  76 + $(DEPENDS)
  77 +
  78 + @echo $< ...
  79 + @$(MKDIR) `dirname $@`
  80 + @$(CC) $(CFLAGS) \
  81 + @RLS_CFLAGS@ \
  82 + -DBUILD_DATE=`date +"0x%Y%m%d"` \
  83 + -o $@ -c $<
  84 +
  85 +marshal.h: \
  86 + genmarshal
45 87  
46   -#---[ Sources ]----------------------------------------------------------------
  88 + @echo $< ...
  89 + @$(MKDIR) `dirname $@`
  90 + @glib-genmarshal --prefix=v3270 --header genmarshal > $@
47 91  
48   -include sources.mak
  92 +marshal.c: \
  93 + marshal.h
49 94  
50   -#---[ Targets ]----------------------------------------------------------------
  95 + @echo $< ...
  96 + @$(MKDIR) `dirname $@`
  97 + @glib-genmarshal --prefix=v3270 --body genmarshal > $@
51 98  
52   -SOURCES=testprogram.c ../common/config.c $(foreach SRC, $(UI_PARSER_SRC), $(SRC))
  99 +#---[ Release Targets ]------------------------------------------------------------------
53 100  
54   -DEPENDS=*.h ../common/*.h Makefile
  101 +Release: \
  102 + $(BASEDIR)/.obj/Release/$(MODULE_NAME).a
55 103  
56   -CFLAGS=@CFLAGS@ @GTK_CFLAGS@ -DDATAROOTDIR=\"$(datarootdir)\" -I../../include
57   -LIBS=@LIBS@ @GTK_LIBS@
  104 +$(BASEDIR)/.obj/Release/$(MODULE_NAME).a: \
  105 + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
58 106  
59   -include ../../include/rules.mak
  107 + @echo $@ ...
  108 + @$(MKDIR) `dirname $@`
  109 + @$(AR) rcs $@ $^
60 110  
61   -#---[ Debug targets ]----------------------------------------------------------
  111 +#---[ Debug Targets ]--------------------------------------------------------------------
62 112  
63   -Debug: $(BINDIR)/Debug/$(PACKAGE_TARNAME)$(EXEEXT)
  113 +Debug: \
  114 + $(BASEDIR)/.obj/Debug/$(MODULE_NAME).a
64 115  
65   -$(BINDIR)/Debug/testprogram$(EXEEXT): $(foreach SRC, $(basename $(SOURCES)), $(OBJDIR)/Debug/$(SRC)$(OBJEXT))
  116 +$(BASEDIR)/.obj/Debug/$(MODULE_NAME).a: \
  117 + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
66 118  
67 119 @echo $@ ...
68 120 @$(MKDIR) `dirname $@`
69   - @$(LD) -Wl,--rpath,.bin/Debug -o $@ $^ $(LIBS)
  121 + @$(AR) rcs $@ $^
  122 +
  123 +#---[ Clean Targets]---------------------------------------------------------------------
  124 +
  125 +cleanDebug:
  126 +
  127 + @rm -fr $(BASEDIR)/.obj/Debug/$(MODULE_NAME).a \
  128 + $(OBJDBG)
  129 +
  130 +cleanRelease:
70 131  
71   -run: $(BINDIR)/Debug/testprogram$(EXEEXT)
72   - @cd "$(ROOTDIR)" ; .bin/Debug/testprogram$(EXEEXT)
  132 + @rm -fr $(BASEDIR)/.obj/Release/$(MODULE_NAME).a \
  133 + $(OBJRLS)
73 134  
74   -memchk: $(BINDIR)/Debug/testprogram$(EXEEXT)
75   -ifeq ($(VALGRIND),no)
76   - @cd "$(ROOTDIR)" ; .bin/Debug/testprogram$(EXEEXT)
77   -else
78   - @cd "$(ROOTDIR)" ; G_DEBUG=gc-friendly G_SLICE=always-malloc \$(VALGRIND) --leak-check=full --suppressions=../valgrind.suppression --gen-suppressions=all $(BINDIR)/Debug/testprogram$(EXEEXT)
79   -endif
  135 +clean: \
  136 + cleanDebug \
  137 + cleanRelease
80 138  
81   -clean: clean-common
82 139  
... ...
src/pw3270/uiparser/sources.mak
... ... @@ -1,5 +0,0 @@
1   -UI_PARSER_SRC=accelerator.c action.c menubar.c menu.c menuitem.c parser.c \
2   - parsefile.c separator.c toolbar.c toolitem.c popup.c script.c \
3   - scroll.c keypad.c button.c
4   -
5   -
src/pw3270/v3270/Makefile.in
... ... @@ -51,6 +51,7 @@ MKDIR=@MKDIR_P@
51 51 CC=@CC@
52 52 LD=@CC@
53 53 AR=@AR@
  54 +GENMARSHAL=@GENMARSHAL@
54 55  
55 56 CFLAGS=@CFLAGS@ @LIB3270_CFLAGS@ -Wno-deprecated-declarations @GTK_CFLAGS@ -I$(BASEDIR)/src/include/pw3270
56 57 LIBS=@LIBS@ @GTK_LIBS@ @LIB3270_LIBS@
... ... @@ -86,14 +87,14 @@ marshal.h: \
86 87  
87 88 @echo $< ...
88 89 @$(MKDIR) `dirname $@`
89   - @glib-genmarshal --prefix=v3270 --header genmarshal > $@
  90 + @$(GENMARSHAL) --prefix=$(MODULE_NAME) --header genmarshal > $@
90 91  
91 92 marshal.c: \
92 93 marshal.h
93 94  
94 95 @echo $< ...
95 96 @$(MKDIR) `dirname $@`
96   - @glib-genmarshal --prefix=v3270 --body genmarshal > $@
  97 + @glib-genmarshal --prefix=$(MODULE_NAME) --body genmarshal > $@
97 98  
98 99 #---[ Release Targets ]------------------------------------------------------------------
99 100  
... ...
src/pw3270/v3270ft/Makefile.in
... ... @@ -26,10 +26,8 @@
26 26  
27 27 MODULE_NAME=v3270ft
28 28  
29   -#---[ Application sources ]--------------------------------------------------------------
30   -
31 29 SOURCES=marshal.c filelist.c load.c misc.c select.c transfer.c v3270ftprogress.c \
32   - get.c save.c set.c v3270ft.c tables.c
  30 + get.c save.c set.c v3270ft.c tables.c
33 31  
34 32 #---[ Configuration values ]-------------------------------------------------------------
35 33  
... ... @@ -42,149 +40,100 @@ exec_prefix=@exec_prefix@
42 40 bindir=@bindir@
43 41 sbindir=@sbindir@
44 42 libdir=@libdir@
45   -includedir=@includedir@
46   -datarootdir=@datarootdir@
47   -localedir=@localedir@
48   -docdir=@docdir@
49   -documentroot=@documentroot@
50   -sysconfdir=@sysconfdir@
51   -cachedir=/var/cache
52   -logdir=@LOGDIR@
53   -
54   -OBJDIR?=.obj
  43 +
  44 +BASEDIR=@BASEDIR@
  45 +
  46 +OBJDIR=.obj
55 47 OBJDBG=$(OBJDIR)/Debug
56 48 OBJRLS=$(OBJDIR)/Release
57 49  
58   -BINDIR?=.bin
59   -BINDBG=$(BINDIR)/Debug
60   -BINRLS=$(BINDIR)/Release
61   -
62   -VALGRIND=@VALGRIND@
63   -DOXYGEN=@DOXYGEN@
64   -AMTAR=@AMTAR@
65   -SHELL=@SHELL@
66 50 MKDIR=@MKDIR_P@
67   -GENMARSHAL=@GENMARSHAL@
68   -XGETTEXT=@XGETTEXT@
69   -MSGCAT=@MSGCAT@
70   -
71 51 CC=@CC@
72 52 LD=@CC@
73 53 AR=@AR@
  54 +GENMARSHAL=@GENMARSHAL@
74 55  
75   -GTK_CFLAGS=@GTK_CFLAGS@
76   -GTK_LIBS=@GTK_LIBS@
77   -
78   -GLIB_CFLAGS=@GLIB_CFLAGS@
79   -GLIB_LIBS=@GLIB_LIBS@
  56 +CFLAGS=@CFLAGS@ @LIB3270_CFLAGS@ -Wno-deprecated-declarations @GTK_CFLAGS@ -I$(BASEDIR)/src/include/pw3270
  57 +LIBS=@LIBS@ @GTK_LIBS@ @LIB3270_LIBS@
80 58  
81   -CFLAGS=@CFLAGS@ \
82   - @DLL_CFLAGS@ \
83   - -DBUILD_DATE=`date +"0x%Y%m%d"` \
84   - @LIB3270_CFLAGS@ \
85   - @PW3270_CFLAGS@ \
86   - $(GTK_CFLAGS)
  59 +#---[ Rules ]----------------------------------------------------------------------------
87 60  
88   -LIBS=@LIBS@ $(GTK_LIBS)
  61 +DEPENDS=$(BASEDIR)/src/include/*.h $(BASEDIR)/src/include/lib3270/*.h $(BASEDIR)/src/include/pw3270/*.h *.h Makefile
89 62  
90   -DEPENDS=*.h ../include/*.h marshal.c marshal.h Makefile
  63 +$(OBJDBG)/%.o: \
  64 + %.c \
  65 + $(DEPENDS)
91 66  
92   -#---[ Release Rules ]--------------------------------------------------------------------
  67 + @echo $< ...
  68 + @$(MKDIR) `dirname $@`
  69 + @$(CC) $(CFLAGS) \
  70 + @DBG_CFLAGS@ \
  71 + -DBUILD_DATE=`date +"0x%Y%m%d"`\
  72 + -o $@ -c $<
93 73  
94 74 $(OBJRLS)/%.o: \
95   - %.c $(DEPENDS)
  75 + %.c \
  76 + $(DEPENDS)
96 77  
97   - @echo $(notdir $@) ...
  78 + @echo $< ...
98 79 @$(MKDIR) `dirname $@`
99   - @$(CC) $(CFLAGS) -DNDEBUG=1 -o $@ -c $<
  80 + @$(CC) $(CFLAGS) \
  81 + @RLS_CFLAGS@ \
  82 + -DBUILD_DATE=`date +"0x%Y%m%d"` \
  83 + -o $@ -c $<
100 84  
101   -$(BINRLS)/$(MODULE_NAME).a: \
102   - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
  85 +marshal.h: \
  86 + genmarshal
103 87  
104   - @echo $(notdir $@) ...
  88 + @echo $< ...
105 89 @$(MKDIR) `dirname $@`
  90 + @$(GENMARSHAL) --prefix=$(MODULE_NAME) --header genmarshal > $@
106 91  
107   - @$(AR) rcs $@ $^
108   -
109   -$(OBJDIR)/pot/%.pot: \
110   - %.c
  92 +marshal.c: \
  93 + marshal.h
111 94  
112   - @echo $(notdir $@) ...
  95 + @echo $< ...
113 96 @$(MKDIR) `dirname $@`
  97 + @$(GENMARSHAL) --prefix=$(MODULE_NAME) --body genmarshal > $@
114 98  
115   - @$(XGETTEXT) \
116   - --default-domain=$(PACKAGE_NAME) \
117   - --language=C \
118   - --keyword=_ \
119   - --keyword=N_ \
120   - --keyword=MSG_:2 \
121   - --force-po \
122   - --output=$@ $<
  99 +#---[ Release Targets ]------------------------------------------------------------------
123 100  
  101 +Release: \
  102 + $(BASEDIR)/.obj/Release/$(MODULE_NAME).a
124 103  
125   -$(BINDIR)/pot/$(MODULE_NAME).pot: \
126   - $(foreach SRC, $(basename $(SOURCES)), $(OBJDIR)/pot/$(SRC).pot)
  104 +$(BASEDIR)/.obj/Release/$(MODULE_NAME).a: \
  105 + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
127 106  
128   - @echo $(notdir $@) ...
  107 + @echo $@ ...
129 108 @$(MKDIR) `dirname $@`
  109 + @$(AR) rcs $@ $^
130 110  
131   - @$(MSGCAT) --sort-output $^ > $@
132   -
133   -#---[ Debug Rules ]----------------------------------------------------------------------
134   -
135   -$(OBJDBG)/%.o: \
136   - %.c $(DEPENDS)
  111 +#---[ Debug Targets ]--------------------------------------------------------------------
137 112  
138   - @echo $(notdir $@) ...
139   - @$(MKDIR) `dirname $@`
140   - @$(CC) $(CFLAGS) -DDEBUG=1 -o $@ -c $<
  113 +Debug: \
  114 + $(BASEDIR)/.obj/Debug/$(MODULE_NAME).a
141 115  
142   -$(BINDBG)/$(MODULE_NAME).a: \
  116 +$(BASEDIR)/.obj/Debug/$(MODULE_NAME).a: \
143 117 $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
144 118  
145   - @echo $(notdir $@) ...
  119 + @echo $@ ...
146 120 @$(MKDIR) `dirname $@`
147   -
148 121 @$(AR) rcs $@ $^
149 122  
150   -#---[ Misc Rules ]-----------------------------------------------------------------------
151   -
152   -marshal.h: \
153   - genmarshal
154   -
155   - @echo $(notdir $<) ...
156   - @$(MKDIR) `dirname $@`
157   - @$(GENMARSHAL) --prefix=$(MODULE_NAME) --header $< > $@
158   -
159   -marshal.c: \
160   - genmarshal
161   -
162   - @echo $(notdir $<) ...
163   - @$(MKDIR) `dirname $@`
164   - @$(GENMARSHAL) --prefix=$(MODULE_NAME) --body $< > $@
165   -
166   -#---[ Targets ]--------------------------------------------------------------------------
167   -
168   -all: \
169   - $(BINRLS)/$(MODULE_NAME).a
  123 +#---[ Clean Targets]---------------------------------------------------------------------
170 124  
171   -Release: \
172   - $(BINRLS)/$(MODULE_NAME).a
173   -
174   -Debug: \
175   - $(BINDBG)/$(MODULE_NAME).a
  125 +cleanDebug:
176 126  
177   -pot: \
178   - $(BINDIR)/pot/$(MODULE_NAME).pot
  127 + @rm -fr $(BASEDIR)/.obj/Debug/$(MODULE_NAME).a \
  128 + $(OBJDBG)
179 129  
180   -cleanRelease: clean
  130 +cleanRelease:
181 131  
182   -cleanDebug: clean
  132 + @rm -fr $(BASEDIR)/.obj/Release/$(MODULE_NAME).a \
  133 + $(OBJRLS)
183 134  
184   -clean:
185   - @rm -fr $(BINDIR)
186   - @rm -fr $(OBJDIR)
187   - @rm -f marshal.h
188   - @rm -f marshal.c
  135 +clean: \
  136 + cleanDebug \
  137 + cleanRelease
189 138  
190 139  
... ...