comparison lib-src/Makefile.in.in @ 460:223736d75acb r21-2-45

Import from CVS: tag r21-2-45
author cvs
date Mon, 13 Aug 2007 11:43:24 +0200
parents 1ccc32a20af4
children 1df7a5cfb04a
comparison
equal deleted inserted replaced
459:9d4fd877b885 460:223736d75acb
71 71
72 #define NO_SHORTNAMES 72 #define NO_SHORTNAMES
73 #define NOT_C_CODE 73 #define NOT_C_CODE
74 #include "../src/config.h" 74 #include "../src/config.h"
75 75
76 ## Things that a user might actually run, 76 #ifndef WIN32_NATIVE
77 ## which should be installed in bindir. 77 #define INSTALL_GNUSERV
78 #endif
79
80 ## ----------------------------------------------------------------
81 ## Things that a user might actually run directly,
82 ## which should be installed in ${bindir}.
83
84 PUBLIC_INSTALLABLE_EXES=\
85 #ifdef INSTALL_GNUSERV
86 gnuclient\
87 #endif
88 #ifdef HAVE_SHLIB
89 ellcc\
90 #endif
91 etags ctags b2m ootags
92
93 PUBLIC_INSTALLABLE_SCRIPTS=\
94 #ifdef INSTALL_GNUSERV
95 gnudoit gnuattach\
96 #endif
97 rcs-checkin
98
99 PUBLIC_INSTALLABLES = ${PUBLIC_INSTALLABLE_EXES} ${PUBLIC_INSTALLABLE_SCRIPTS}
100
101 ## ----------------------------------------------------------------
102 ## Things that XEmacs runs internally on the user's behalf,
103 ## which should be installed in ${archlibdir}.
104
105 PRIVATE_INSTALLABLE_EXES=\
106 #ifdef INSTALL_GNUSERV
107 gnuserv\
108 #endif
78 #ifdef WIN32_NATIVE 109 #ifdef WIN32_NATIVE
79 INSTALLABLES_BASE = etags ctags b2m ootags 110 i minitar\
80 #else 111 #else
81 INSTALLABLES_BASE = etags ctags b2m gnuclient ootags 112 fakemail\
82 #endif 113 #endif
83 INSTALLABLE_SCRIPTS = rcs-checkin gnudoit gnuattach 114 wakeup profile make-docfile digest-doc\
84 #ifdef HAVE_SHLIB 115 sorted-doc movemail cvtmail yow hexl mmencode
85 INSTALLABLES = $(INSTALLABLES_BASE) ellcc 116
86 #else
87 INSTALLABLES = $(INSTALLABLES_BASE)
88 #endif
89
90
91 ## Things that Emacs runs internally, or during the build process,
92 ## which should not be installed in bindir.
93 #ifdef WIN32_NATIVE
94 UTILITIES= make-path wakeup profile make-docfile digest-doc \
95 sorted-doc movemail cvtmail yow i hexl \
96 mmencode minitar
97 #else
98 UTILITIES= make-path wakeup profile make-docfile digest-doc \
99 sorted-doc movemail cvtmail fakemail yow hexl \
100 gnuserv mmencode
101 #endif
102 ## These need to be conditional on I18N3 make-msgfile make-po
103
104 ## Like UTILITIES, but they are not system-dependent, and should not be
105 ## deleted by the distclean target.
106 GEN_SCRIPTS = rcs2log vcdiff gzip-el.sh 117 GEN_SCRIPTS = rcs2log vcdiff gzip-el.sh
107 PKG_SCRIPTS = add-big-package.sh 118 PKG_SCRIPTS = add-big-package.sh
108 SCRIPTS = $(GEN_SCRIPTS) $(PKG_SCRIPTS) 119 PRIVATE_INSTALLABLE_SCRIPTS = $(GEN_SCRIPTS) $(PKG_SCRIPTS)
109 120
110 EXECUTABLES= ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS} 121 PRIVATE_INSTALLABLES = ${PRIVATE_INSTALLABLE_EXES} ${PRIVATE_INSTALLABLE_SCRIPTS}
111 122
112 SOURCES = COPYING ChangeLog Makefile.in.in README aixcc.lex emacs.csh \ 123 ## These need to be conditional on I18N3: make-msgfile make-po
113 makedoc.com *.[chy] $(SCRIPTS) 124
125 ## ----------------------------------------------------------------
126 ## Things that XEmacs uses during the build process itself.
127 ## Not installed.
128
129 BUILD_UTILITIES = make-path make-dump-id
130
131 EXES = ${PUBLIC_INSTALLABLE_EXES} ${PRIVATE_INSTALLABLE_EXES} ${BUILD_UTILITIES}
132 SCRIPTS = ${PUBLIC_INSTALLABLE_SCRIPTS} ${PRIVATE_INSTALLABLE_SCRIPTS}
133 PROGS = ${EXES} ${SCRIPTS}
134
114 ## Additional -D flags for movemail (add to MOVE_FLAGS if desired): 135 ## Additional -D flags for movemail (add to MOVE_FLAGS if desired):
115 ## MAIL_USE_POP Support mail retrieval from a POP mailbox. 136 ## MAIL_USE_POP Support mail retrieval from a POP mailbox.
116 ## MAIL_USE_MMDF Support MMDF mailboxes. 137 ## MAIL_USE_MMDF Support MMDF mailboxes.
117 ## MAIL_USE_FLOCK Use flock for file locking (see the comments 138 ## MAIL_USE_FLOCK Use flock for file locking (see the comments
118 ## about locking in movemail.c) 139 ## about locking in movemail.c)
169 ## failed to find it for getopt.o. 190 ## failed to find it for getopt.o.
170 ## Using an explicit command made it work. 191 ## Using an explicit command made it work.
171 .c.o: 192 .c.o:
172 ${CC} -c $(cflags) $< 193 ${CC} -c $(cflags) $<
173 194
174 .PHONY : all maybe-blessmail install uninstall 195 .PHONY : all maybe-blessmail install uninstall check
175 196
176 all: ${UTILITIES} ${INSTALLABLES} srcdir-symlink.stamp 197 all: ${PROGS}
177 198
178 ## Make symlinks for shell scripts if using --srcdir 199 ## Make symlinks for shell scripts if using --srcdir
179 srcdir-symlink.stamp: 200 ${SCRIPTS}:
180 for f in ${SCRIPTS}; do \ 201 for f in ${SCRIPTS}; do \
181 if test ! -r $$f; then ${LN_S} ${srcdir}/$$f $$f; fi; \ 202 if test ! -r $$f; then ${LN_S} ${srcdir}/$$f $$f; fi; \
182 done; \ 203 done
183 touch $@;
184 204
185 #undef MOVEMAIL_NEEDS_BLESSING 205 #undef MOVEMAIL_NEEDS_BLESSING
186 #if !defined (MAIL_USE_FLOCK) && ! defined (MAIL_USE_LOCKF) 206 #if !defined (MAIL_USE_FLOCK) && ! defined (MAIL_USE_LOCKF)
187 #define MOVEMAIL_NEEDS_BLESSING 207 #define MOVEMAIL_NEEDS_BLESSING
188 blessmail = blessmail 208 blessmail = blessmail
216 ## just run them directly from lib-src. 236 ## just run them directly from lib-src.
217 ${archlibdir}: all 237 ${archlibdir}: all
218 @echo; echo "Installing utilities run internally by XEmacs." 238 @echo; echo "Installing utilities run internally by XEmacs."
219 ./make-path ${archlibdir} 239 ./make-path ${archlibdir}
220 if test "`(cd ${archlibdir} && $(pwd))`" != "`$(pwd)`"; then \ 240 if test "`(cd ${archlibdir} && $(pwd))`" != "`$(pwd)`"; then \
221 for f in ${UTILITIES}; do \ 241 for f in ${PRIVATE_INSTALLABLE_EXES}; do \
222 (cd .. && $(INSTALL_PROGRAM) lib-src/$$f ${archlibdir}/$$f) ; \ 242 (cd .. && $(INSTALL_PROGRAM) lib-src/$$f ${archlibdir}/$$f) ; \
223 done ; \ 243 done ; \
224 fi 244 fi
225 if test "`(cd ${archlibdir} && $(pwd))`" \ 245 if test "`(cd ${archlibdir} && $(pwd))`" \
226 != "`(cd ${srcdir} && $(pwd))`"; then \ 246 != "`(cd ${srcdir} && $(pwd))`"; then \
227 for f in ${SCRIPTS}; do \ 247 for f in ${PRIVATE_INSTALLABLE_SCRIPTS}; do \
228 (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$$f ${archlibdir}/$$f); \ 248 (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$$f ${archlibdir}/$$f); \
229 done ; \ 249 done ; \
230 fi 250 fi
231 251
232 ## We do not need to install "wakeup" explicitly, because it will be
233 ## copied when this whole directory is copied.
234 install: ${archlibdir} 252 install: ${archlibdir}
235 @echo; echo "Installing utilities for users to run." 253 @echo; echo "Installing utilities for users to run."
236 for file in ${INSTALLABLES} ; do \ 254 for file in ${PUBLIC_INSTALLABLE_EXES} ; do \
237 (cd .. && $(INSTALL_PROGRAM) lib-src/$${file} ${bindir}/$${file}) ; \ 255 (cd .. && $(INSTALL_PROGRAM) lib-src/$${file} ${bindir}/$${file}) ; \
238 done 256 done
239 for file in ${INSTALLABLE_SCRIPTS} ; do \ 257 for file in ${PUBLIC_INSTALLABLE_SCRIPTS} ; do \
240 (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$${file} ${bindir}/$${file}) ; \ 258 (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$${file} ${bindir}/$${file}) ; \
241 done 259 done
242 260
243 uninstall: 261 uninstall:
244 (cd ${bindir} && \ 262 cd ${bindir} && $(RM) ${PUBLIC_INSTALLABLES}
245 $(RM) ${INSTALLABLES} ${INSTALLABLE_SCRIPTS}) 263 cd ${archlibdir} && $(RM) ${PRIVATE_INSTALLABLES}
246 (cd ${archlibdir} && \
247 $(RM) ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS})
248 264
249 .PHONY: mostlyclean clean distclean realclean extraclean 265 .PHONY: mostlyclean clean distclean realclean extraclean
250 mostlyclean: 266 mostlyclean:
251 $(RM) *.o *.i core 267 $(RM) *.o *.i core
252 clean: mostlyclean 268 clean: mostlyclean
253 $(RM) ${INSTALLABLES} ${UTILITIES} *.exe 269 $(RM) ${EXES} *.exe
254 distclean: clean 270 distclean: clean
255 $(RM) DOC *.tab.c *.tab.h aixcc.c TAGS ellcc.h 271 $(RM) DOC *.tab.c *.tab.h TAGS ellcc.h
256 $(RM) GNUmakefile Makefile Makefile.in blessmail config.values 272 $(RM) GNUmakefile Makefile Makefile.in blessmail config.values
257 realclean: distclean 273 realclean: distclean
258 extraclean: distclean 274 extraclean: distclean
259 $(RM) *~ \#* 275 $(RM) *~ \#*
260 276
261 .PHONY: unlock relock check
262 unlock:
263 chmod u+w $(SOURCES)
264 relock:
265 chmod u-w $(SOURCES)
266
267 ## Test the contents of the directory. 277 ## Test the contents of the directory.
268 check: 278 check:
269 @echo "We don't have any tests for XEmacs yet." 279 @echo "We don't have any tests for lib-src yet."
270 280
271 TAGS: etags 281 TAGS: etags
272 etags *.[ch] 282 etags *.[ch]
273 283
274 GETOPTOBJS = getopt.o getopt1.o $(ALLOCA) 284 GETOPTOBJS = getopt.o getopt1.o $(ALLOCA)
377 ## The timer utility (timer.c, getdate.y) is not used in XEmacs 387 ## The timer utility (timer.c, getdate.y) is not used in XEmacs
378 ## because XEmacs provides built-in timer facilities. 388 ## because XEmacs provides built-in timer facilities.
379 389
380 make-path: ${srcdir}/make-path.c ../src/config.h 390 make-path: ${srcdir}/make-path.c ../src/config.h
381 $(CC) -Demacs $(cflags) ${srcdir}/make-path.c -o $@ 391 $(CC) -Demacs $(cflags) ${srcdir}/make-path.c -o $@
382
383 ## These are NOT included in INSTALLABLES or UTILITIES.
384 ## See ../src/Makefile.in.in.
385 aixcc: ${srcdir}/aixcc.c
386 $(CC) $(cflags) ${srcdir}/aixcc.c -o $@
387
388 aixcc.c: ${srcdir}/aixcc.lex
389 lex ${srcdir}/aixcc.lex
390 mv lex.yy.c aixcc.c