Initial revision
[chise/xemacs-chise.git.1] / lib-src / Makefile.in.in
index 44195bd..12663b8 100644 (file)
@@ -73,52 +73,65 @@ INSTALL_DATA = @INSTALL_DATA@
 #define NOT_C_CODE
 #include "../src/config.h"
 
-## Things that a user might actually run,
-## which should be installed in bindir.
-#ifdef WINDOWSNT
-INSTALLABLES_BASE = etags ctags b2m ootags
-#else
-INSTALLABLES_BASE = etags ctags b2m gnuclient ootags
+#ifndef WIN32_NATIVE
+#define INSTALL_GNUSERV
 #endif
-INSTALLABLE_SCRIPTS = rcs-checkin gnudoit gnuattach
-#ifdef HAVE_SHLIB
-#ifdef HAVE_MS_WINDOWS
-INSTALLABLES = $(INSTALLABLES_BASE) runxemacs rungnuclient ellcc
-#else
-INSTALLABLES = $(INSTALLABLES_BASE) ellcc
+
+## ----------------------------------------------------------------
+## Things that a user might actually run directly,
+## which should be installed in ${bindir}.
+
+PUBLIC_INSTALLABLE_EXES=\
+#ifdef INSTALL_GNUSERV
+ gnuclient\
 #endif
-#else
-#ifdef HAVE_MS_WINDOWS
-INSTALLABLES = $(INSTALLABLES_BASE) runxemacs rungnuclient
-#else
-INSTALLABLES = $(INSTALLABLES_BASE)
+#ifdef HAVE_SHLIB
+ ellcc\
 #endif
+ etags ctags b2m ootags
+
+PUBLIC_INSTALLABLE_SCRIPTS=\
+#ifdef INSTALL_GNUSERV
+ gnudoit gnuattach\
 #endif
+ rcs-checkin
+
+PUBLIC_INSTALLABLES = ${PUBLIC_INSTALLABLE_EXES} ${PUBLIC_INSTALLABLE_SCRIPTS}
 
+## ----------------------------------------------------------------
+## Things that XEmacs runs internally on the user's behalf,
+## which should be installed in ${archlibdir}.
 
-## Things that Emacs runs internally, or during the build process,
-## which should not be installed in bindir.
-#ifdef WINDOWSNT
-UTILITIES= make-path wakeup profile make-docfile digest-doc \
-       sorted-doc movemail cvtmail yow hexl \
-       mmencode
+PRIVATE_INSTALLABLE_EXES=\
+#ifdef INSTALL_GNUSERV
+ gnuserv\
+#endif
+#ifdef WIN32_NATIVE
+ i minitar\
 #else
-UTILITIES= make-path wakeup profile make-docfile digest-doc \
-       sorted-doc movemail cvtmail fakemail yow hexl \
-       gnuserv mmencode
+ fakemail\
 #endif
-## These need to be conditional on I18N3 make-msgfile make-po
+ wakeup profile make-docfile digest-doc\
+ sorted-doc movemail cvtmail yow hexl mmencode
 
-## Like UTILITIES, but they are not system-dependent, and should not be
-## deleted by the distclean target.
 GEN_SCRIPTS = rcs2log vcdiff gzip-el.sh
 PKG_SCRIPTS = add-big-package.sh
-SCRIPTS = $(GEN_SCRIPTS) $(PKG_SCRIPTS)
+PRIVATE_INSTALLABLE_SCRIPTS = $(GEN_SCRIPTS) $(PKG_SCRIPTS)
+
+PRIVATE_INSTALLABLES = ${PRIVATE_INSTALLABLE_EXES} ${PRIVATE_INSTALLABLE_SCRIPTS}
+
+## These need to be conditional on I18N3: make-msgfile make-po
 
-EXECUTABLES= ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS}
+## ----------------------------------------------------------------
+## Things that XEmacs uses during the build process itself.
+## Not installed.
+
+BUILD_UTILITIES = make-path make-dump-id
+
+EXES    = ${PUBLIC_INSTALLABLE_EXES} ${PRIVATE_INSTALLABLE_EXES} ${BUILD_UTILITIES}
+SCRIPTS = ${PUBLIC_INSTALLABLE_SCRIPTS} ${PRIVATE_INSTALLABLE_SCRIPTS}
+PROGS   = ${EXES} ${SCRIPTS}
 
-SOURCES = COPYING ChangeLog Makefile.in.in README aixcc.lex emacs.csh \
-       makedoc.com *.[chy] $(SCRIPTS)
 ## Additional -D flags for movemail (add to MOVE_FLAGS if desired):
 ## MAIL_USE_POP                Support mail retrieval from a POP mailbox.
 ## MAIL_USE_MMDF               Support MMDF mailboxes.
@@ -168,7 +181,7 @@ ld_libs_general=@ld_libs_general@
 ## Where will the generated files like config.h be included from?
 ## This is also why you _must_ use <...> instead of "..." 
 ## when #include'ing generated files.
-cppflags = -Demacs -I. -I../src -I$(srcdir) -I$(top_srcdir)/src $(CPPFLAGS)
+cppflags = -I. -I../src -I$(srcdir) -I$(top_srcdir)/src $(CPPFLAGS)
 cflags   = $(CFLAGS) $(cppflags) $(c_switch_general)
 ldflags  = $(LDFLAGS) $(ld_switch_general) $(ld_libs_general)
 
@@ -179,16 +192,15 @@ ldflags  = $(LDFLAGS) $(ld_switch_general) $(ld_libs_general)
 .c.o:
        ${CC} -c $(cflags) $<
 
-.PHONY : all maybe-blessmail install uninstall
+.PHONY : all maybe-blessmail install uninstall check
 
-all: ${UTILITIES} ${INSTALLABLES} srcdir-symlink.stamp
+all: ${PROGS}
 
 ## Make symlinks for shell scripts if using --srcdir
-srcdir-symlink.stamp:
+${SCRIPTS}:
        for f in ${SCRIPTS}; do \
                if test ! -r $$f; then ${LN_S} ${srcdir}/$$f $$f; fi; \
-       done; \
-       touch $@;
+       done
 
 #undef MOVEMAIL_NEEDS_BLESSING
 #if !defined (MAIL_USE_FLOCK) && ! defined (MAIL_USE_LOCKF)
@@ -226,55 +238,45 @@ ${archlibdir}: all
        @echo; echo "Installing utilities run internally by XEmacs."
        ./make-path ${archlibdir}
        if test "`(cd ${archlibdir} && $(pwd))`" != "`$(pwd)`"; then \
-         for f in ${UTILITIES}; do \
+         for f in ${PRIVATE_INSTALLABLE_EXES}; do \
            (cd .. && $(INSTALL_PROGRAM) lib-src/$$f ${archlibdir}/$$f) ; \
          done ; \
        fi
        if test "`(cd ${archlibdir} && $(pwd))`" \
             != "`(cd ${srcdir}     && $(pwd))`"; then \
-         for f in ${SCRIPTS}; do \
+         for f in ${PRIVATE_INSTALLABLE_SCRIPTS}; do \
            (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$$f ${archlibdir}/$$f); \
          done ; \
        fi
 
-## We do not need to install "wakeup" explicitly, because it will be
-## copied when this whole directory is copied.
 install: ${archlibdir}
        @echo; echo "Installing utilities for users to run."
-       for file in ${INSTALLABLES} ; do \
+       for file in ${PUBLIC_INSTALLABLE_EXES} ; do \
          (cd .. && $(INSTALL_PROGRAM) lib-src/$${file} ${bindir}/$${file}) ; \
        done
-       for file in ${INSTALLABLE_SCRIPTS} ; do \
+       for file in ${PUBLIC_INSTALLABLE_SCRIPTS} ; do \
          (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$${file} ${bindir}/$${file}) ; \
        done
 
 uninstall:
-       (cd ${bindir} && \
-        $(RM) ${INSTALLABLES} ${INSTALLABLE_SCRIPTS})
-       (cd ${archlibdir} && \
-        $(RM) ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS})
+       cd ${bindir} && $(RM) ${PUBLIC_INSTALLABLES}
+       cd ${archlibdir} && $(RM) ${PRIVATE_INSTALLABLES}
 
 .PHONY: mostlyclean clean distclean realclean extraclean
 mostlyclean:
        $(RM) *.o *.i core
 clean: mostlyclean
-       $(RM) ${INSTALLABLES} ${UTILITIES} *.exe
+       $(RM) ${EXES} *.exe
 distclean: clean
-       $(RM) DOC *.tab.c *.tab.h aixcc.c TAGS ellcc.h
+       $(RM) DOC *.tab.c *.tab.h TAGS ellcc.h
        $(RM) GNUmakefile Makefile Makefile.in blessmail config.values
 realclean: distclean
 extraclean: distclean
        $(RM) *~ \#*
 
-.PHONY: unlock relock check
-unlock:
-       chmod u+w $(SOURCES)
-relock:
-       chmod u-w $(SOURCES)
-
 ## Test the contents of the directory.
 check:
-       @echo "We don't have any tests for XEmacs yet."
+       @echo "We don't have any tests for lib-src yet."
 
 TAGS: etags
        etags *.[ch]
@@ -289,8 +291,8 @@ alloca.o: ${top_srcdir}/src/alloca.c
        ${CC} -c $(cflags) ${srcdir}/../src/alloca.c
 
 regex.o: ${srcdir}/../src/regex.c ${top_srcdir}/src/regex.h
-       $(CC) -c `echo $(cflags) | sed 's/-Demacs/ /'` \
-               -DINHIBIT_STRING_HEADER ${top_srcdir}/src/regex.c
+       $(CC) -c $(cflags) \
+       -DINHIBIT_STRING_HEADER ${top_srcdir}/src/regex.c
 
 etags_args = $(cflags) -DVERSION='"${version}"' ${srcdir}/etags.c \
        $(GETOPTOBJS) regex.o $(ldflags)
@@ -305,23 +307,6 @@ ellcc_deps = ${srcdir}/ellcc.c ellcc.h ../src/config.h
 ellcc: ${ellcc_deps}
        $(CC) ${ellcc_args} -o $@
 
-run_args = $(cflags) -DVERSION='"${version}"' ${srcdir}/run.c \
-       $(ldflags) -Wl,--subsystem,windows -e _mainCRTStartup
-run_deps = ${srcdir}/run.c ${srcdir}/run.h ${srcdir}/run.rc \
-       ${srcdir}/../nt/xemacs.ico ${srcdir}/../nt/file.ico \
-       ${srcdir}/../nt/lisp.ico
-
-run: ${run_deps}
-       windres --include-dir ${srcdir}/../nt -i run.rc -o run_res.o
-       $(CC) run_res.o ${run_args} -o $@
-       strip $@.exe
-
-runxemacs: run
-       cp run.exe $@.exe
-
-rungnuclient: run
-       cp run.exe $@.exe
-
 ootags_args = $(cflags) -DVERSION='"${version}"' ${srcdir}/ootags.c \
        $(GETOPTOBJS) regex.o $(ldflags)
 ootags_deps = ${srcdir}/ootags.c $(GETOPTDEPS) regex.o ../src/config.h
@@ -344,7 +329,7 @@ make-docfile: ${srcdir}/make-docfile.c
        $(CC) $(cflags) ${srcdir}/make-docfile.c $(ldflags) -o $@
 
 digest-doc: ${srcdir}/digest-doc.c
-       $(CC) $(cflags) ${srcdir}/digest-doc.c $(ldflags) -o $@
+       $(CC) -Demacs $(cflags) ${srcdir}/digest-doc.c $(ldflags) -o $@
 
 sorted-doc: ${srcdir}/sorted-doc.c
        $(CC) $(cflags) ${srcdir}/sorted-doc.c $(ldflags) -o $@
@@ -366,6 +351,12 @@ fakemail: ${srcdir}/fakemail.c ../src/config.h
 yow: ${srcdir}/yow.c ../src/paths.h
        $(CC) $(cflags) ${srcdir}/yow.c $(ldflags) -o $@
 
+i: ${srcdir}/i.c
+       $(CC) $(cflags) ${srcdir}/i.c $(ldflags) -o $@
+
+minitar: ${srcdir}/../nt/minitar.c
+       $(CC) $(cflags) ${srcdir}/../nt/minitar.c $(ldflags) -lz -o $@
+
 hexl: ${srcdir}/hexl.c
        $(CC) $(cflags) ${srcdir}/hexl.c $(ldflags) -o $@
 
@@ -397,13 +388,4 @@ mmencode : ${srcdir}/mmencode.c
 ## because XEmacs provides built-in timer facilities.
 
 make-path: ${srcdir}/make-path.c ../src/config.h
-       $(CC) $(cflags) ${srcdir}/make-path.c -o $@
-
-## These are NOT included in INSTALLABLES or UTILITIES.
-## See ../src/Makefile.in.in.
-aixcc: ${srcdir}/aixcc.c
-       $(CC) $(cflags) ${srcdir}/aixcc.c -o $@
-
-aixcc.c: ${srcdir}/aixcc.lex
-       lex ${srcdir}/aixcc.lex
-       mv lex.yy.c aixcc.c
+       $(CC) -Demacs $(cflags) ${srcdir}/make-path.c -o $@