diff: Mmakefile changes for Windows
Fergus Henderson
fjh at cs.mu.oz.au
Fri Nov 21 23:01:17 AEDT 1997
Mmakefile:
README.MS-Windows:
Move most of the stuff in the patch file at the end of
README.MS-Windows into Mmakefile, because the patch file
was a maintenence problem (people would change Mmakefile
and not update the patch).
Index: Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/Mmakefile,v
retrieving revision 1.14
diff -u -u -r1.14 Mmakefile
--- Mmakefile 1997/11/20 01:58:31 1.14
+++ Mmakefile 1997/11/21 11:55:59
@@ -166,7 +166,9 @@
cd profiler && $(SUBDIR_MMAKE) depend
cd profiler && $(SUBDIR_MMAKE) ints cs tags
cd doc && $(SUBDIR_MMAKE) info html dvi
- cd bindist && $(SUBDIR_MMAKE) bindist.configure bindist.build_vars
+ cd bindist && $(SUBDIR_MMAKE) bindist.configure
+ # the following command might fail on Windows?
+ -cd bindist && $(SUBDIR_MMAKE) bindist.build_vars
# clean up
cd scripts && mmake realclean
cd util && mmake realclean
@@ -206,10 +208,12 @@
#-----------------------------------------------------------------------------#
.PHONY: install
-install: all install_scripts install_util install_runtime install_boehm_gc \
- install_library install_compiler install_profiler install_doc \
+install: all $(PREINSTALL_HACK) \
+ install_scripts install_util install_runtime install_boehm_gc \
+ install_library install_compiler install_profiler install_doc \
+ $(POSTINSTALL_HACK) \
install_grades
-
+
.PHONY: install_scripts
install_scripts: scripts
cd scripts && $(SUBDIR_MMAKE) install
@@ -296,6 +300,60 @@
rm -rf *.dir *.c *.o *.pic_o *.a *.so; \
done && \
{ mv tmp_dir/* . ; rmdir tmp_dir; true; }
+
+#-----------------------------------------------------------------------------#
+#
+# Various horrible hacks for gnu-win32 on Windows.
+#
+
+
+# For Windows 95 or Windows NT, uncomment the following two lines:
+# PREINSTALL_HACK = preinstall_hack_for_windows
+# POSTINSTALL_HACK = postinstall_hack_for_windows
+
+
+# `make touch_files' is a work-around for the broken gnu-win32 `tar'
+# that loses all the file dates.
+.PHONY: touch_files
+touch_files:
+ -find . | xargs touch
+ sleep 1
+ touch library/*.date*
+ touch library/*.optdate
+ chmod +w library/*.dep
+ touch library/*.dep
+ touch compiler/*.date*
+ chmod +w compiler/*.dep
+ touch compiler/*.dep
+ touch profiler/*.date*
+ chmod +w profiler/*.dep
+ touch profiler/*.dep
+ touch doc/*.texi configure
+ sleep 1
+ touch boehm_gc/*.c
+ touch runtime/*.c
+ touch library/*.c
+ touch compiler/*.c
+ touch profiler/*.c
+ touch doc/*.info doc/*.dvi doc/*.html config.status
+
+# Another work-around for Windows:
+# the executable files need `.exe' filenames, otherwise they won't work.
+# But the Mmake files expect them to not have `.exe' filenames.
+
+.PHONY: preinstall_hack_for_windows
+preinstall_hack_for_windows:
+ cd compiler && mv mercury_compile.exe xyzzy && mv xyzzy mercury_compile
+ cd profiler && mv mercury_profile.exe xyzzy && mv xyzzy mercury_profile
+ cd util && mv mkinit.exe xyzzy && mv xyzzy mkinit
+ cd util && mv mdemangle.exe xyzzy && mv xyzzy mdemangle
+
+.PHONY: postinstall_hack_for_windows
+postinstall_hack_for_windows:
+ cd $(INSTALL_MERC_BIN_DIR) && mv mercury_compile mercury_compile.exe
+ cd $(INSTALL_MERC_BIN_DIR) && mv mercury_profile mercury_profile.exe
+ cd $(INSTALL_BINDIR) && mv mkinit mkinit.exe
+ cd $(INSTALL_BINDIR) && mv mdemangle mdemangle.exe
#-----------------------------------------------------------------------------#
Index: README.MS-Windows
===================================================================
RCS file: /home/mercury1/repository/mercury/README.MS-Windows,v
retrieving revision 1.7
diff -u -u -r1.7 README.MS-Windows
--- README.MS-Windows 1997/10/21 15:03:12 1.7
+++ README.MS-Windows 1997/11/21 11:58:25
@@ -112,94 +112,16 @@
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-Index: Mmakefile
-===================================================================
-RCS file: /home/staff/zs/imp/mercury/Mmakefile,v
-retrieving revision 1.11
-diff -u -u -r1.11 Mmakefile
---- Mmakefile 1997/10/11 15:26:54 1.11
-+++ Mmakefile 1997/10/15 15:41:26
-@@ -15,7 +15,9 @@
+--- Mmakefile.windows Fri Nov 21 22:55:53 1997
++++ Mmakefile Fri Nov 21 22:55:59 1997
+@@ -308,8 +308,8 @@
- SUBDIRS = scripts util boehm_gc runtime library compiler doc profiler lp_solve
--SUBDIR_MMAKE = PATH=../scripts:../util:$$PATH \
-+# The `/bin:' below is a work-around for a bug in gnu-win32 version b16,
-+# which *requires* `/bin' to be first in the PATH.
-+SUBDIR_MMAKE = PATH=/bin:../scripts:../util:$$PATH \
- MMAKE_VPATH=. \
- MMAKE_DIR=../scripts \
- ../scripts/mmake $(MMAKEFLAGS)
-@@ -170,7 +172,7 @@
- cd profiler && $(SUBDIR_MMAKE) depend
- cd profiler && $(SUBDIR_MMAKE) ints cs tags
- cd doc && $(SUBDIR_MMAKE) info html dvi
-- cd bindist && $(SUBDIR_MMAKE) bindist.configure bindist.build_vars
-+ cd bindist && $(SUBDIR_MMAKE) bindist.configure
- # clean up
- cd scripts && mmake realclean
- cd util && mmake realclean
-@@ -209,10 +211,60 @@
- #-----------------------------------------------------------------------------#
+ # For Windows 95 or Windows NT, uncomment the following two lines:
+-PREINSTALL_HACK = preinstall_hack_for_windows
+-POSTINSTALL_HACK = postinstall_hack_for_windows
++# PREINSTALL_HACK = preinstall_hack_for_windows
++# POSTINSTALL_HACK = postinstall_hack_for_windows
- .PHONY: install
--install: all install_scripts install_util install_runtime install_boehm_gc \
-+install: all preinstall_hack_for_win95 \
-+ install_scripts install_util install_runtime install_boehm_gc \
- install_library install_compiler install_profiler install_doc \
-- install_grades install_lp_solve
--
-+ postinstall_hack_for_win95 \
-+ install_grades install_lp_solve \
-+ postinstall_lp_solve_hack_for_win95
-+
-+# `make touch_files' is a work-around for the broken gnu-win32 `tar'
-+# that loses all the file dates.
-+.PHONY: touch_files
-+touch_files:
-+ -find . | xargs touch
-+ sleep 1
-+ touch library/*.date*
-+ touch library/*.optdate
-+ chmod +w library/*.dep
-+ touch library/*.dep
-+ touch compiler/*.date*
-+ chmod +w compiler/*.dep
-+ touch compiler/*.dep
-+ touch profiler/*.date*
-+ chmod +w profiler/*.dep
-+ touch profiler/*.dep
-+ touch doc/*.texi configure
-+ sleep 1
-+ touch boehm_gc/*.c
-+ touch runtime/*.c
-+ touch library/*.c
-+ touch compiler/*.c
-+ touch profiler/*.c
-+ touch doc/*.info doc/*.dvi doc/*.html config.status
-+
-+# another work-around for gnu-win32 on Windows 95:
-+# the executable files need `.exe' filenames, otherwise they won't work.
-+# But the Mmake files expect them to not have `.exe' filenames.
-+
-+.PHONY: preinstall_hack_for_win95
-+preinstall_hack_for_win95:
-+ cd compiler && mv mercury_compile.exe xyzzy && mv xyzzy mercury_compile
-+ cd profiler && mv mercury_profile.exe xyzzy && mv xyzzy mercury_profile
-+ cd util && mv mkinit.exe xyzzy && mv xyzzy mkinit
-+ cd util && mv mdemangle.exe xyzzy && mv xyzzy mdemangle
-+
-+.PHONY: postinstall_hack_for_win95
-+postinstall_hack_for_win95:
-+ cd $(INSTALL_MERC_BIN_DIR) && mv mercury_compile mercury_compile.exe
-+ cd $(INSTALL_MERC_BIN_DIR) && mv mercury_profile mercury_profile.exe
-+ cd $(INSTALL_BINDIR) && mv mkinit mkinit.exe
-+ cd $(INSTALL_BINDIR) && mv mdemangle mdemangle.exe
-+
-+.PHONY: postinstall_lp_solve_hack_for_win95
-+postinstall_lp_solve_hack_for_win95:
-+ -cd $(INSTALL_BINDIR) && mv lp_solve lp_solve.exe
-+
- .PHONY: install_scripts
- install_scripts: scripts
- cd scripts && $(SUBDIR_MMAKE) install
+
+ # `make touch_files' is a work-around for the broken gnu-win32 `tar'
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3 | -- the last words of T. S. Garp.
More information about the developers
mailing list