X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2FMakefile.in.in;h=43381b74f7208209cc7a49e8d7d6fd5074368bbc;hp=48716cc2bf757d1f1d8f18b5074fc137fd539655;hb=02f4d2761a98c5cb9d5b423d2361160a5d8c9ee4;hpb=a1655b870904de973c366d85ebdc8adde4ef5e1e diff --git a/src/Makefile.in.in b/src/Makefile.in.in index 48716cc..43381b7 100644 --- a/src/Makefile.in.in +++ b/src/Makefile.in.in @@ -31,11 +31,10 @@ PROGNAME=@PROGNAME@ #ifdef PDUMP DUMP_TARGET = ${PROGNAME}.dmp EXE_TARGET = ${PROGNAME} -ID_FILE = dump-id.c +DUMP_ID = dump-id.o #else DUMP_TARGET = ${PROGNAME} EXE_TARGET = temacs -ID_FILE = #endif all: ${DUMP_TARGET} @@ -54,6 +53,7 @@ RECURSIVE_MAKE=@RECURSIVE_MAKE@ SHELL=/bin/sh RM = rm -f +TAR = tar lispdir = ${srcdir}/../lisp/ moduledir = ${srcdir}/../modules/ @@ -124,7 +124,7 @@ lwlib_deps = $(lwlib_libs) $(lwlib_libs) : cd ../lwlib && $(RECURSIVE_MAKE) -x_objs=balloon_help.o balloon-x.o console-x.o device-x.o event-Xt.o frame-x.o\ +x_objs=console-x.o device-x.o event-Xt.o frame-x.o\ glyphs-x.o objects-x.o redisplay-x.o select-x.o xgccache.o #ifdef AIX4 @@ -134,8 +134,12 @@ LIBI18N = -li18n X11_libs = $(LIBI18N) #endif /* HAVE_X_WINDOWS */ -#if defined (HEAP_IN_DATA) && !defined(PDUMP) -sheap_obj=sheap.o +#if defined (HEAP_IN_DATA) && !defined (PDUMP) +sheap_objs=sheap.o +#endif + +#if defined (WIN32_NATIVE) || defined (CYGWIN) +win32_objs=win32.o xemacs_res.o #endif ## -Demacs is needed to make some files produce the correct version @@ -143,7 +147,11 @@ sheap_obj=sheap.o cppflags = $(CPPFLAGS) -Demacs -I. $(c_switch_all) cflags = $(CFLAGS) $(cppflags) +#if defined (WIN32_NATIVE) || defined (CYGWIN) +ldflags = $(LDFLAGS) -mwindows $(ld_switch_all) $(ld_dynamic_link_flags) +#else ldflags = $(LDFLAGS) $(ld_switch_all) $(ld_dynamic_link_flags) +#endif #ifdef SOLARIS2 %.o : %.c @@ -189,9 +197,9 @@ objs=\ macros.o marker.o md5.o minibuf.o objects.o opaque.o\ print.o process.o profile.o\ rangetab.o redisplay.o redisplay-output.o regex.o\ - search.o select.o $(sheap_obj) signal.o sound.o\ + search.o select.o $(sheap_objs) signal.o sound.o\ specifier.o strftime.o symbols.o syntax.o sysdep.o\ - undo.o $(x_objs) widget.o window.o + undo.o $(x_objs) widget.o window.o $(win32_objs) obj_rtl = $(objs:.o=.c.rtl) @@ -342,6 +350,7 @@ ${DUMP_TARGET}: ${EXE_TARGET} ${libsrc}DOC $(mo_file) ${other_files} update-elc. ./${PROGNAME} -batch -vanilla -f list-load-path-shadows; fi; \ $(RM) SATISFIED; exit 0; fi; \ if test -f SATISFIED; then $(RM) SATISFIED; exit 1; fi; \ + $(RM) $@; \ $(RECURSIVE_MAKE) $@; #else @$(RM) $@ @@ -382,7 +391,7 @@ ${libsrc}DOC: ${EXE_TARGET} update-elc.stamp $(RM) ${libsrc}DOC; \ ${DUMPENV} ./${EXE_TARGET} -nd -batch -l ${srcdir}/../lisp/make-docfile.el -- \ -o ${libsrc}DOC -d ${srcdir} -i ${libsrc}../site-packages \ - ${obj_src} ${mallocdocsrc} ${rallocdocsrc} + ${obj_src} ${mallocdocsrc} ${rallocdocsrc} ${extra_doc_files} dump_elcs: dump-elcs @@ -441,12 +450,11 @@ link_deps=\ $(start_files) ${objs} ${otherobjs}\ $(lwlib_deps) $(dynodump_deps) -temacs_deps=\ - $(link_deps) $(ID_FILE) +temacs_deps = $(link_deps) ${DUMP_ID} temacs_link_args=\ - ${start_flags} ${ldflags} -I${srcdir} \ - -o $@ ${start_files} ${objs} ${otherobjs} ${ID_FILE} ${LIBES} + ${start_flags} ${ldflags}\ + -o $@ ${start_files} ${objs} ${otherobjs} ${DUMP_ID} ${LIBES} ${EXE_TARGET}: $(temacs_deps) $(LD) $(temacs_link_args) @@ -503,14 +511,14 @@ debug-temacs: ${EXE_TARGET} ## ## Purify PURIFY_PROG = purify +PURIFY_LIBS = PURIFY_FLAGS =\ #ifdef PDUMP -search-mmaps=yes\ #endif - -chain-length=32 -ignore-signals=SIGPOLL -threads=yes\ - -cache-dir=./purecache -always-use-cache-dir=yes + -chain-length=32 -ignore-signals=SIGPOLL\ + -cache-dir=${blddir}/purecache -always-use-cache-dir=yes -PURIFY_LIBS = -lpthread puremacs: $(temacs_deps) $(PURIFY_PROG) $(PURIFY_FLAGS) $(LD) $(temacs_link_args) $(PURIFY_LIBS) cp $@ ${EXE_TARGET} @@ -550,6 +558,10 @@ TransientEmacsShell.c.rtl : ${srcdir}/EmacsShell-sub.c TopLevelEmacsShell.o conf $(CC) -dr -c $(cflags) -DDEFINE_TRANSIENT_EMACS_SHELL ${srcdir}/EmacsShell-sub.c mv EmacsShell-sub.c.rtl TransientEmacsShell.c.rtl +## The above rules are subject to a race condition if using a parallel make. +TransientEmacsShell.o : TopLevelEmacsShell.o +TransientEmacsShell.c.rtl : TopLevelEmacsShell.c.rtl + ## Position-independent code for shared library creation #if USE_GCC pic_arg = -fpic @@ -689,13 +701,24 @@ hpplay.o: ${srcdir}/hpplay.c $(CC) -c -Demacs $(sound_cflags) $(cflags) ${srcdir}/hpplay.c #endif /* HAVE_NATIVE_SOUND */ +#if defined(HAVE_GLADE_GLADE_H) || defined(HAVE_GLADE_H) +glade_files=glade.c +#endif + +#ifdef HAVE_GTK +extra_doc_files=emacs-widget-accessors.c ui-byhand.c $(glade_files) +#endif + +xemacs_res.o: ${srcdir}/../nt/xemacs.rc + windres --include-dir ${srcdir}/../nt -i ${srcdir}/../nt/xemacs.rc -o $@ + ## System-specific programs to be made. ## ${other_files}, $(objects_system) and $(objects_machine) ## select which of these should be compiled. */ .PHONY: mostlyclean clean distclean realclean versionclean extraclean mostlyclean: - $(RM) temacs puremacs quantmacs prefix-args *.o *.i \ + $(RM) temacs puremacs quantmacs *.o *.i \ core temacs.exe sheap-adjust.h clean: mostlyclean versionclean $(RM) libextcli* update-elc.stamp @@ -706,7 +729,7 @@ distclean: clean GNUmakefile Makefile Makefile.in TAGS ${PROGNAME}.* realclean: distclean versionclean: - $(RM) ${PROGNAME} ${PROGNAME}.exe ${libsrc}DOC + $(RM) ${EXE_TARGET} ${DUMP_TARGET} ${libsrc}DOC extraclean: realclean $(RM) *~ \#* m/*~ m/\#* s/*~ s/\#* @@ -729,15 +752,15 @@ install: ${PROGNAME} cd ${srcdir}; hdrdir2=`pwd`; cd $$hdir; \ test "$$hdrdir2" != "$$hdir" && hdir="$$hdir $$hdrdir2"; \ (for thisdir in $$hdir; do \ - cd $$hdir && \ + cd $$thisdir && \ (hdrtars=; \ for hdrfile in *.h; do \ hdrtars="$$hdrtars $$hdrfile"; \ done; \ test -d s && hdrtars="$$hdrtars s/*"; \ test -d m && hdrtars="$$hdrtars m/*"; \ - test -n "$$hdrtars" && (tar cf - $$hdrtars) | \ - (cd ${archlibdir}/include && umask 022 && tar xf -); \ + test -n "$$hdrtars" && (${TAR} cf - $$hdrtars) | \ + (cd ${archlibdir}/include && umask 022 && ${TAR} xf -); \ chmod 755 ${archlibdir}/include; \ test -d ${archlibdir}/include/s && \ chmod 755 ${archlibdir}/include/s; \