XEmacs 21.2.40 "Persephone".
[chise/xemacs-chise.git.1] / lib-src / Makefile.in.in
index 1e62172..33dd10c 100644 (file)
@@ -53,6 +53,9 @@ exec_prefix=@exec_prefix@
 bindir=@bindir@
 libdir=@libdir@
 srcdir=@srcdir@
+datadir=@datadir@
+instvardir=@instvardir@
+top_srcdir=@top_srcdir@
 archlibdir=@archlibdir@
 configuration=@configuration@
 moduledir=@moduledir@
@@ -72,28 +75,30 @@ INSTALL_DATA = @INSTALL_DATA@
 
 ## Things that a user might actually run,
 ## which should be installed in bindir.
+#ifdef WIN32_NATIVE
+INSTALLABLES_BASE = etags ctags b2m ootags
+#else
 INSTALLABLES_BASE = etags ctags b2m gnuclient ootags
-INSTALLABLE_SCRIPTS = rcs-checkin pstogif gnudoit gnuattach
+#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
-#endif
-#else
-#ifdef HAVE_MS_WINDOWS
-INSTALLABLES = $(INSTALLABLES_BASE) runxemacs rungnuclient
 #else
-INSTALLABLES = $(INSTALLABLES_BASE) 
-#endif
+INSTALLABLES = $(INSTALLABLES_BASE)
 #endif
 
 
 ## Things that Emacs runs internally, or during the build process,
 ## which should not be installed in bindir.
+#ifdef WIN32_NATIVE
+UTILITIES= make-path wakeup profile make-docfile digest-doc \
+       sorted-doc movemail cvtmail yow i hexl \
+       mmencode minitar
+#else
 UTILITIES= make-path wakeup profile make-docfile digest-doc \
        sorted-doc movemail cvtmail fakemail yow hexl \
        gnuserv mmencode
+#endif
 ## These need to be conditional on I18N3 make-msgfile make-po
 
 ## Like UTILITIES, but they are not system-dependent, and should not be
@@ -149,7 +154,13 @@ ld_libs_general=@ld_libs_general@
 
 ## We need to #define emacs to get the right versions of some files.
 
-cppflags = -Demacs -I../src $(CPPFLAGS)
+## To understand the order of -I flags, consider what happens if you run
+## ./configure in the source tree, and then run
+## $(srcdir).2.26/configure in some other build tree.
+## 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 = -I. -I../src -I$(srcdir) -I$(top_srcdir)/src $(CPPFLAGS)
 cflags   = $(CFLAGS) $(cppflags) $(c_switch_general)
 ldflags  = $(LDFLAGS) $(ld_switch_general) $(ld_libs_general)
 
@@ -160,6 +171,8 @@ ldflags  = $(LDFLAGS) $(ld_switch_general) $(ld_libs_general)
 .c.o:
        ${CC} -c $(cflags) $<
 
+.PHONY : all maybe-blessmail install uninstall
+
 all: ${UTILITIES} ${INSTALLABLES} srcdir-symlink.stamp
 
 ## Make symlinks for shell scripts if using --srcdir
@@ -218,7 +231,6 @@ ${archlibdir}: all
 
 ## We do not need to install "wakeup" explicitly, because it will be
 ## copied when this whole directory is copied.
-.PHONY : all maybe-blessmail install uninstall
 install: ${archlibdir}
        @echo; echo "Installing utilities for users to run."
        for file in ${INSTALLABLES} ; do \
@@ -265,50 +277,29 @@ getopt.o: ${srcdir}/getopt.c ${srcdir}/getopt.h
        ${CC} -c $(cflags) ${srcdir}/getopt.c
 getopt1.o: ${srcdir}/getopt1.c ${srcdir}/getopt.h
        ${CC} -c $(cflags) ${srcdir}/getopt1.c
-alloca.o: ${srcdir}/../src/alloca.c
+alloca.o: ${top_srcdir}/src/alloca.c
        ${CC} -c $(cflags) ${srcdir}/../src/alloca.c
 
-regex.o: ${srcdir}/../src/regex.c ${srcdir}/../src/regex.h
-       $(CC) -c `echo $(cflags) | sed 's/-Demacs/ /'` \
-               -DINHIBIT_STRING_HEADER ${srcdir}/../src/regex.c
+regex.o: ${srcdir}/../src/regex.c ${top_srcdir}/src/regex.h
+       $(CC) -c $(cflags) \
+       -DINHIBIT_STRING_HEADER ${top_srcdir}/src/regex.c
 
-etags_args = -I. $(cflags) -I${srcdir} -I${srcdir}/../src \
-       -DVERSION='"${version}"' ${srcdir}/etags.c \
+etags_args = $(cflags) -DVERSION='"${version}"' ${srcdir}/etags.c \
        $(GETOPTOBJS) regex.o $(ldflags)
-etags_deps   = ${srcdir}/etags.c $(GETOPTDEPS) regex.o ../src/config.h
+etags_deps = ${srcdir}/etags.c $(GETOPTDEPS) regex.o ../src/config.h
 
 etags: ${etags_deps}
        $(CC) ${etags_args} -o $@
 
-ellcc_args = -I. $(cflags) -I${srcdir} -I${srcdir}/../src \
-    ${srcdir}/ellcc.c $(ldflags)
+ellcc_args = $(cflags) ${srcdir}/ellcc.c $(ldflags)
 ellcc_deps = ${srcdir}/ellcc.c ellcc.h ../src/config.h
 
 ellcc: ${ellcc_deps}
        $(CC) ${ellcc_args} -o $@
 
-run_args = -I. $(cflags) -I${srcdir} -I${srcdir}/../src \
-       -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 = -I. $(cflags) -I${srcdir} -I${srcdir}/../src \
-       -DVERSION='"${version}"' ${srcdir}/ootags.c \
+ootags_args = $(cflags) -DVERSION='"${version}"' ${srcdir}/ootags.c \
        $(GETOPTOBJS) regex.o $(ldflags)
-ootags_deps   = ${srcdir}/ootags.c $(GETOPTDEPS) regex.o ../src/config.h
+ootags_deps = ${srcdir}/ootags.c $(GETOPTDEPS) regex.o ../src/config.h
 
 ootags: ${ootags_deps}
        $(CC) ${ootags_args} -o $@
@@ -328,7 +319,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 $@
@@ -350,6 +341,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 $@
 
@@ -359,6 +356,9 @@ make-msgfile: ${srcdir}/make-msgfile.c
 make-po: ${srcdir}/make-po.c
        $(CC) $(cflags) ${srcdir}/make-po.c $(ldflags) -o $@
 
+make-dump-id: ${srcdir}/make-dump-id.c
+       $(CC) $(cflags) ${srcdir}/make-dump-id.c $(ldflags) -o $@
+
 cflags_gnuserv  = $(CFLAGS) $(cppflags) $(c_switch_all)
 ldflags_gnuserv = $(LDFLAGS) $(ld_switch_all) @libs_xauth@ $(ld_libs_general)
 gnuslib.o: ${srcdir}/gnuslib.c ${srcdir}/gnuserv.h ../src/config.h
@@ -378,7 +378,7 @@ 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 $@
+       $(CC) -Demacs $(cflags) ${srcdir}/make-path.c -o $@
 
 ## These are NOT included in INSTALLABLES or UTILITIES.
 ## See ../src/Makefile.in.in.