Mercurial > hg > xemacs-beta
comparison nt/xemacs.mak @ 2948:b5fe6b5627b1
[xemacs-hg @ 2005-09-25 19:13:43 by adrian]
xemacs-21.5-clean: Fix variable initialization order in xemacs.mak
-------------------- ChangeLog entries follow: --------------------
nt/ChangeLog addition:
2005-09-25 Adrian Aichner <adrian@xemacs.org>
* xemacs.mak: Fix variable initialization order.
author | adrian |
---|---|
date | Sun, 25 Sep 2005 19:13:43 +0000 |
parents | 6fa9919a9a0b |
children | b694dfd2f40e |
comparison
equal
deleted
inserted
replaced
2947:1d3c4ed33763 | 2948:b5fe6b5627b1 |
---|---|
942 $(XEMACS_INCLUDES) \ | 942 $(XEMACS_INCLUDES) \ |
943 $(BLDLIB_SRC)/make-dump-id.exe \ | 943 $(BLDLIB_SRC)/make-dump-id.exe \ |
944 $(LIB_SRC_TOOLS) | 944 $(LIB_SRC_TOOLS) |
945 !endif | 945 !endif |
946 | 946 |
947 ########################### Create the Installation file | |
948 | |
949 $(BLDROOT)\Installation:: installation | |
950 | |
951 installation:: | |
952 @echo OS version:>$(BLDROOT)\Installation | |
953 @ver >> $(BLDROOT)\Installation | |
954 @type >> $(BLDROOT)\Installation << | |
955 !if defined(OS) | |
956 OS: $(OS) | |
957 !endif | |
958 | |
959 XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename) $(xemacs_extra_name:"=) configured for `$(EMACS_CONFIGURATION)'. | |
960 | |
961 Building XEmacs using "$(MAKE:\=\\)". | |
962 Building XEmacs using make flags "$(MAKEFLAGS)". | |
963 Building XEmacs in source tree "$(SRCROOT:\=\\)". | |
964 !if $(SEPARATE_BUILD) | |
965 Building XEmacs into compiled tree "$(BLDROOT:\=\\)". | |
966 !endif | |
967 !if defined(CCV) | |
968 For src, using compiler "$(CC) $(TEMACS_CPP_FLAGS)". | |
969 For lib-src, using compiler "$(CC) $(LIB_SRC_CFLAGS)". | |
970 !endif | |
971 !if $(CPLUSPLUS_COMPILE) | |
972 Compiling as C++. | |
973 !endif | |
974 Installing XEmacs in "$(INSTALL_DIR:\=\\)". | |
975 Package path is $(PATH_PACKAGEPATH). | |
976 !if $(INFODOCK) | |
977 Building InfoDock. | |
978 !endif | |
979 !if $(HAVE_MS_WINDOWS) | |
980 Compiling in support for Microsoft Windows native GUI. | |
981 !endif | |
982 !if $(MULE) | |
983 Compiling in international (MULE) support. | |
984 !endif | |
985 !if $(HAVE_GTK) | |
986 -------------------------------------------------------------------- | |
987 NOTE: You specified HAVE_GTK=1, but we are compiling WITHOUT GTK support. | |
988 NOTE: gtk-xemacs is not currently supported on MS Windows (mingw or msvc). | |
989 NOTE: Yes, we know that gtk has been ported to native MS Windows, but | |
990 NOTE: XEmacs is not yet ready to use that port. | |
991 -------------------------------------------------------------------- | |
992 !endif | |
993 !if $(HAVE_XPM) | |
994 Compiling in support for XPM images. | |
995 !else | |
996 -------------------------------------------------------------------- | |
997 NOTE: Compiling without XPM support. | |
998 NOTE: You should strongly consider installing XPM. | |
999 NOTE: Otherwise toolbars and other graphics will look suboptimal. | |
1000 NOTE: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux) | |
1001 -------------------------------------------------------------------- | |
1002 !endif | |
1003 !if $(HAVE_GIF) | |
1004 Compiling in support for GIF images. | |
1005 !endif | |
1006 !if $(HAVE_PNG) | |
1007 Compiling in support for PNG images. | |
1008 !else | |
1009 -------------------------------------------------------------------- | |
1010 NOTE: Compiling without PNG image support. | |
1011 NOTE: You should strongly consider installing the PNG libraries. | |
1012 NOTE: Otherwise certain images and glyphs may not display. | |
1013 NOTE: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux | |
1014 -------------------------------------------------------------------- | |
1015 !endif | |
1016 !if $(HAVE_TIFF) | |
1017 Compiling in support for TIFF images. | |
1018 !endif | |
1019 !if $(HAVE_JPEG) | |
1020 Compiling in support for JPEG images. | |
1021 !endif | |
1022 !if $(HAVE_XFACE) | |
1023 Compiling in support for X-Face message headers. | |
1024 !endif | |
1025 !if $(HAVE_ZLIB) | |
1026 Compiling in support for GZIP compression/decompression. | |
1027 !endif | |
1028 !if $(HAVE_TOOLBARS) | |
1029 Compiling in support for toolbars. | |
1030 !endif | |
1031 !if $(HAVE_DIALOGS) | |
1032 Compiling in support for dialogs. | |
1033 !endif | |
1034 !if $(HAVE_WIDGETS) | |
1035 Compiling in support for widgets. | |
1036 !endif | |
1037 !if $(HAVE_NATIVE_SOUND) | |
1038 Compiling in support for native sounds. | |
1039 !endif | |
1040 !if $(USE_UNION_TYPE) | |
1041 Using union type for Lisp object storage. | |
1042 NOTE: --------------------------------------------------------- | |
1043 NOTE: This tends to trigger compiler bugs, especially when combined | |
1044 NOTE: with MULE and ERROR_CHECKING. Crashes in pdump have recently | |
1045 NOTE: been observed using Visual C++ in combination with union type, | |
1046 NOTE: MULE, and ERROR_CHECKING. | |
1047 NOTE: --------------------------------------------------------- | |
1048 !endif | |
1049 !if $(USE_PORTABLE_DUMPER) | |
1050 Using portable dumper. | |
1051 !endif | |
1052 !if $(USE_SYSTEM_MALLOC) | |
1053 Using system malloc. | |
1054 !endif | |
1055 !if $(USE_CRTDLL) | |
1056 Using DLL version of C runtime library. | |
1057 !endif | |
1058 !if $(ERROR_CHECK_ALL) | |
1059 Compiling in extra internal error-checking. | |
1060 NOTE: --------------------------------------------------------- | |
1061 NOTE: Compiling in support for runtime error-checking. | |
1062 NOTE: XEmacs will run noticeably more slowly as a result. | |
1063 NOTE: Error-checking is on by default for XEmacs beta releases. | |
1064 NOTE: --------------------------------------------------------- | |
1065 !endif | |
1066 !if $(DEBUG_XEMACS) | |
1067 Compiling in debugging support (no slowdown). | |
1068 !endif | |
1069 !if $(OPTIMIZED_BUILD) | |
1070 Compiling with optimization. | |
1071 !endif | |
1072 !if $(QUICK_BUILD) | |
1073 Disabling non-essential build actions. Use with care! | |
1074 !endif | |
1075 !if $(USE_KKCC) | |
1076 Using new experimental GC algorithms. | |
1077 !endif | |
1078 !if $(MC_ALLOC) | |
1079 Using new experimental allocator. | |
1080 !endif | |
1081 <<NOKEEP | |
1082 @echo -------------------------------------------------------------------- | |
1083 @type $(BLDROOT)\Installation | |
1084 @echo -------------------------------------------------------------------- | |
1085 | |
1086 ######################################################################### | |
1087 ## Primary rebuilding process ## | |
1088 ######################################################################### | |
1089 | |
1090 ########################### Definitions for linking temacs.exe | |
1091 | |
1092 !if !$(USE_PORTABLE_DUMPER) | |
1093 TEMACS_ENTRYPOINT=-entry:_start | |
1094 !else | |
1095 TEMACS_ENTRYPOINT=-entry:mainCRTStartup | |
1096 !endif | |
1097 | |
1098 TEMACS_BROWSE=$(BLDSRC)\temacs.bsc | |
1099 TEMACS_LIBS=$(LASTFILE) $(MSW_LIBS) \ | |
1100 oldnames.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib \ | |
1101 shell32.lib wsock32.lib netapi32.lib winmm.lib winspool.lib ole32.lib \ | |
1102 mpr.lib uuid.lib imm32.lib $(LIBC_LIB) | |
1103 TEMACS_COMMON_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS_LINK) \ | |
1104 -base:0x1000000 -stack:0x800000 $(TEMACS_ENTRYPOINT) -subsystem:windows \ | |
1105 -heap:0x00100000 -nodefaultlib $(PROFILE_FLAGS) setargv.obj | |
1106 TEMACS_LFLAGS=$(TEMACS_COMMON_LFLAGS) \ | |
1107 -pdb:$(BLDSRC)\temacs.pdb -map:$(BLDSRC)\temacs.map | |
1108 XEMACS_LFLAGS=$(TEMACS_COMMON_LFLAGS) \ | |
1109 -pdb:$(BLDSRC)\xemacs.pdb -map:$(BLDSRC)\xemacs.map | |
1110 | |
1111 ########################### Definitions for running temacs.exe/xemacs.exe | |
1112 | |
1113 RAW_EXE=$(BLDSRC)\temacs.exe | |
1114 DUMP_TARGET = $(BLDSRC)\xemacs.exe | |
1115 DO_TEMACS = "$(BLDLIB_SRC)\i" "$(RAW_EXE)" | |
1116 DO_XEMACS = "$(BLDLIB_SRC)\i" "$(DUMP_TARGET)" | |
1117 | |
1118 BATCH = -no-packages -batch | |
1119 BATCH_PACKAGES = -vanilla -batch | |
1120 TEMACS_BATCH = $(DO_TEMACS) -nd $(BATCH) | |
1121 XEMACS_BATCH = $(DO_XEMACS) $(BATCH) | |
1122 XEMACS_BATCH_PACKAGES = $(DO_XEMACS) $(BATCH_PACKAGES) | |
1123 temacs_loadup_args = -l $(LISP)/loadup.el | |
1124 dump_temacs_args = $(temacs_loadup_args) dump | |
1125 run_temacs_args = $(temacs_loadup_args) run-temacs | |
1126 dump_temacs = $(TEMACS_BATCH) $(dump_temacs_args) | |
1127 | |
1128 ########################### Build rules | |
1129 | |
1130 ## Use this rule to build the complete system. We need both update-elc | |
1131 ## and update-elc-2 due to the sideways dependency of NEEDTODUMP. See | |
1132 ## src/Makefile.in.in for a more detailed discussion of this. | |
1133 | |
1134 all: installation $(OUTDIR)\nul $(LIB_SRC_TOOLS) \ | |
1135 update-elc update-elc-2 \ | |
1136 $(LISP)/finder-inf.el load-shadows info | |
1137 | |
1138 $(TEMACS_BROWSE): $(TEMACS_OBJS) | |
1139 @dir /b/s $(OUTDIR)\*.sbr > $(OUTDIR)\bscmake.tmp | |
1140 bscmake -nologo -o$(TEMACS_BROWSE) @$(OUTDIR)\bscmake.tmp | |
1141 -$(DEL) $(OUTDIR)\bscmake.tmp | |
1142 | |
1143 ## (1) Compile all dependencies of the XEmacs executable | |
1144 | |
1145 $(OUTDIR)\dump-id.obj : $(BLDSRC)\dump-id.c | |
1146 $(CCV) $(TEMACS_CPP_FLAGS) $(BLDSRC)\$(@B).c -Fo$@ $(BROWSERFLAGS) | |
1147 | |
1148 $(BLDSRC)\dump-id.c : $(BLDLIB_SRC)/make-dump-id.exe $(TEMACS_OBJS) | |
1149 cd $(BLDSRC) | |
1150 $(BLDLIB_SRC)\make-dump-id.exe | |
1151 | |
1152 $(OUTDIR)\temacs.res: $(NT)\xemacs.rc | |
1153 cd $(NT) | |
1154 rc -Fo$@ xemacs.rc | |
1155 | |
1156 ## (2) Link the XEmacs executable | |
1157 | |
1158 !if $(USE_PORTABLE_DUMPER) | |
1159 TEMACS_DUMP_DEP = $(OUTDIR)\dump-id.obj | |
1160 !else | |
1161 TEMACS_DUMP_DEP = $(OUTDIR)\temacs.res | |
1162 !endif | |
1163 | |
1164 $(RAW_EXE): $(TEMACS_OBJS) $(LASTFILE) $(TEMACS_DUMP_DEP) | |
1165 link.exe @<< | |
1166 $(TEMACS_LFLAGS) -out:$@ $(TEMACS_OBJS) $(TEMACS_DUMP_DEP) $(TEMACS_LIBS) | |
1167 << | |
1168 | |
1169 !if $(DEBUG_XEMACS) | |
1170 $(RAW_EXE): $(TEMACS_BROWSE) | |
1171 !endif | |
1172 | |
1173 ## (3) Update the .elc's needed for dumping | |
1174 | |
1175 update-elc: $(RAW_EXE) | |
1176 $(TEMACS_BATCH) -l $(LISP)\update-elc.el | |
1177 | |
1178 ## This file is touched by update-elc.el when redumping is necessary. | |
1179 $(BLDSRC)\NEEDTODUMP: | |
1180 @echo >$(BLDSRC)\NEEDTODUMP | |
1181 | |
1182 ## (4) Build the DOC file | |
1183 | |
1184 DOC=$(BLDLIB_SRC)\DOC | |
1185 | |
1186 docfile :: | |
1187 if exist $(DOC) $(DEL) $(DOC) | |
1188 docfile :: $(DOC) | |
1189 | |
1190 # We need to write the QUICK_BUILD stuff as-is (and not just have no | |
1191 # dependencies for DOC) because DOC needs TEMACS_OBJS as dependencies to | |
1192 # get $(**) right. The `touch' is needed because of the way nmake | |
1193 # calculates dependencies; see comments in src/Makefile.in.in. | |
1194 $(DOC): $(BLDLIB_SRC)\make-docfile.exe $(BLDSRC)\NEEDTODUMP $(TEMACS_OBJS) | |
1195 !if $(QUICK_BUILD) | |
1196 if not exist $(DOC) $(TEMACS_BATCH) -l $(LISP)\make-docfile.el -- -o $(DOC) -i $(SRCROOT)\site-packages @<< | |
1197 $(**) | |
1198 << | |
1199 -touch $(DOC) | |
1200 !else | |
1201 $(TEMACS_BATCH) -l $(LISP)\make-docfile.el -- -o $(DOC) -i $(SRCROOT)\site-packages @<< | |
1202 $(**) | |
1203 << | |
1204 !endif | |
1205 | |
1206 ## (5) Dump | |
1207 | |
1208 !if $(USE_PORTABLE_DUMPER) | |
1209 $(DUMP_TARGET): $(NT)\xemacs.rc | |
1210 !endif | |
1211 | |
1212 # This rule dumps xemacs and then possibly spawns sub-make if PURESPACE | |
1213 # requirements have changed. | |
1214 | |
1215 $(DUMP_TARGET): $(DOC) $(RAW_EXE) $(BLDSRC)\NEEDTODUMP | |
1216 $(TEMACS_BATCH) -l $(LISP)\loadup.el dump | |
1217 !if $(USE_PORTABLE_DUMPER) | |
1218 cd $(BLDSRC) | |
1219 rc -d INCLUDE_DUMP -Fo $(OUTDIR)\xemacs.res $(NT)\xemacs.rc | |
1220 # Make the resource section read/write since almost all of it is the dump | |
1221 # data which needs to be writable. This avoids having to copy it. | |
1222 link.exe @<< | |
1223 $(XEMACS_LFLAGS) -section:.rsrc,rw -out:$(BLDSRC)\xemacs.exe $(TEMACS_OBJS) $(OUTDIR)\xemacs.res $(TEMACS_LIBS) $(OUTDIR)\dump-id.obj | |
1224 << | |
1225 -$(DEL) $(BLDSRC)\xemacs.dmp | |
1226 !endif | |
1227 | |
1228 ## (6) Update the remaining .elc's, post-dumping | |
1229 | |
1230 update-elc-2: $(DUMP_TARGET) | |
1231 $(XEMACS_BATCH) -no-autoloads -l update-elc-2.el -f batch-update-elc-2 $(LISP) | |
1232 | |
1233 ## (7) Other random stuff | |
1234 | |
1235 $(LISP)/finder-inf.el: update-elc-2 | |
1236 !if !$(QUICK_BUILD) | |
1237 @echo Building finder database ... | |
1238 $(XEMACS_BATCH) -eval "(setq finder-compile-keywords-quiet t)" \ | |
1239 -l finder -f finder-compile-keywords | |
1240 @echo Building finder database ...(done) | |
1241 !endif | |
1242 | |
1243 load-shadows: update-elc-2 | |
1244 !if !$(QUICK_BUILD) | |
1245 @echo Testing for Lisp shadows ... | |
1246 @$(XEMACS_BATCH) -f list-load-path-shadows | |
1247 !endif | |
1248 | |
947 ###################### Building the info files | 1249 ###################### Building the info files |
948 | 1250 |
949 !if !defined(MAKEINFO) | 1251 !if !defined(MAKEINFO) |
950 MAKEINFO=$(XEMACS_BATCH_PACKAGES) -l texinfmt -f batch-texinfo-format | 1252 MAKEINFO=$(XEMACS_BATCH_PACKAGES) -l texinfmt -f batch-texinfo-format |
951 !endif | 1253 !endif |
1102 | 1404 |
1103 $(INFODIR)\xemacs.info: $(XEMACS_SRCS) | 1405 $(INFODIR)\xemacs.info: $(XEMACS_SRCS) |
1104 cd $(MANDIR)\xemacs | 1406 cd $(MANDIR)\xemacs |
1105 $(MAKEINFO) xemacs.texi | 1407 $(MAKEINFO) xemacs.texi |
1106 | 1408 |
1107 | |
1108 $(INFODIR)\lispref.info: $(LISPREF_SRCS) | 1409 $(INFODIR)\lispref.info: $(LISPREF_SRCS) |
1109 cd $(MANDIR)\lispref | 1410 cd $(MANDIR)\lispref |
1110 $(MAKEINFO) lispref.texi | 1411 $(MAKEINFO) lispref.texi |
1111 | 1412 |
1112 $(INFODIR)\internals.info: $(INTERNALS_SRCS) | 1413 $(INFODIR)\internals.info: $(INTERNALS_SRCS) |
1117 cd $(MANDIR)\new-users-guide | 1418 cd $(MANDIR)\new-users-guide |
1118 $(MAKEINFO) new-users-guide.texi | 1419 $(MAKEINFO) new-users-guide.texi |
1119 | 1420 |
1120 info: makeinfo-test $(INFO_FILES) | 1421 info: makeinfo-test $(INFO_FILES) |
1121 | 1422 |
1122 ########################### Create the Installation file | |
1123 | |
1124 $(BLDROOT)\Installation:: installation | |
1125 | |
1126 installation:: | |
1127 @echo OS version:>$(BLDROOT)\Installation | |
1128 @ver >> $(BLDROOT)\Installation | |
1129 @type >> $(BLDROOT)\Installation << | |
1130 !if defined(OS) | |
1131 OS: $(OS) | |
1132 !endif | |
1133 | |
1134 XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename) $(xemacs_extra_name:"=) configured for `$(EMACS_CONFIGURATION)'. | |
1135 | |
1136 Building XEmacs using "$(MAKE:\=\\)". | |
1137 Building XEmacs using make flags "$(MAKEFLAGS)". | |
1138 Building XEmacs in source tree "$(SRCROOT:\=\\)". | |
1139 !if $(SEPARATE_BUILD) | |
1140 Building XEmacs into compiled tree "$(BLDROOT:\=\\)". | |
1141 !endif | |
1142 !if defined(CCV) | |
1143 For src, using compiler "$(CC) $(TEMACS_CPP_FLAGS)". | |
1144 For lib-src, using compiler "$(CC) $(LIB_SRC_CFLAGS)". | |
1145 !endif | |
1146 !if $(CPLUSPLUS_COMPILE) | |
1147 Compiling as C++. | |
1148 !endif | |
1149 Installing XEmacs in "$(INSTALL_DIR:\=\\)". | |
1150 Package path is $(PATH_PACKAGEPATH). | |
1151 !if $(INFODOCK) | |
1152 Building InfoDock. | |
1153 !endif | |
1154 !if $(HAVE_MS_WINDOWS) | |
1155 Compiling in support for Microsoft Windows native GUI. | |
1156 !endif | |
1157 !if $(MULE) | |
1158 Compiling in international (MULE) support. | |
1159 !endif | |
1160 !if $(HAVE_GTK) | |
1161 -------------------------------------------------------------------- | |
1162 NOTE: You specified HAVE_GTK=1, but we are compiling WITHOUT GTK support. | |
1163 NOTE: gtk-xemacs is not currently supported on MS Windows (mingw or msvc). | |
1164 NOTE: Yes, we know that gtk has been ported to native MS Windows, but | |
1165 NOTE: XEmacs is not yet ready to use that port. | |
1166 -------------------------------------------------------------------- | |
1167 !endif | |
1168 !if $(HAVE_XPM) | |
1169 Compiling in support for XPM images. | |
1170 !else | |
1171 -------------------------------------------------------------------- | |
1172 NOTE: Compiling without XPM support. | |
1173 NOTE: You should strongly consider installing XPM. | |
1174 NOTE: Otherwise toolbars and other graphics will look suboptimal. | |
1175 NOTE: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux) | |
1176 -------------------------------------------------------------------- | |
1177 !endif | |
1178 !if $(HAVE_GIF) | |
1179 Compiling in support for GIF images. | |
1180 !endif | |
1181 !if $(HAVE_PNG) | |
1182 Compiling in support for PNG images. | |
1183 !else | |
1184 -------------------------------------------------------------------- | |
1185 NOTE: Compiling without PNG image support. | |
1186 NOTE: You should strongly consider installing the PNG libraries. | |
1187 NOTE: Otherwise certain images and glyphs may not display. | |
1188 NOTE: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux | |
1189 -------------------------------------------------------------------- | |
1190 !endif | |
1191 !if $(HAVE_TIFF) | |
1192 Compiling in support for TIFF images. | |
1193 !endif | |
1194 !if $(HAVE_JPEG) | |
1195 Compiling in support for JPEG images. | |
1196 !endif | |
1197 !if $(HAVE_XFACE) | |
1198 Compiling in support for X-Face message headers. | |
1199 !endif | |
1200 !if $(HAVE_ZLIB) | |
1201 Compiling in support for GZIP compression/decompression. | |
1202 !endif | |
1203 !if $(HAVE_TOOLBARS) | |
1204 Compiling in support for toolbars. | |
1205 !endif | |
1206 !if $(HAVE_DIALOGS) | |
1207 Compiling in support for dialogs. | |
1208 !endif | |
1209 !if $(HAVE_WIDGETS) | |
1210 Compiling in support for widgets. | |
1211 !endif | |
1212 !if $(HAVE_NATIVE_SOUND) | |
1213 Compiling in support for native sounds. | |
1214 !endif | |
1215 !if $(USE_UNION_TYPE) | |
1216 Using union type for Lisp object storage. | |
1217 NOTE: --------------------------------------------------------- | |
1218 NOTE: This tends to trigger compiler bugs, especially when combined | |
1219 NOTE: with MULE and ERROR_CHECKING. Crashes in pdump have recently | |
1220 NOTE: been observed using Visual C++ in combination with union type, | |
1221 NOTE: MULE, and ERROR_CHECKING. | |
1222 NOTE: --------------------------------------------------------- | |
1223 !endif | |
1224 !if $(USE_PORTABLE_DUMPER) | |
1225 Using portable dumper. | |
1226 !endif | |
1227 !if $(USE_SYSTEM_MALLOC) | |
1228 Using system malloc. | |
1229 !endif | |
1230 !if $(USE_CRTDLL) | |
1231 Using DLL version of C runtime library. | |
1232 !endif | |
1233 !if $(ERROR_CHECK_ALL) | |
1234 Compiling in extra internal error-checking. | |
1235 NOTE: --------------------------------------------------------- | |
1236 NOTE: Compiling in support for runtime error-checking. | |
1237 NOTE: XEmacs will run noticeably more slowly as a result. | |
1238 NOTE: Error-checking is on by default for XEmacs beta releases. | |
1239 NOTE: --------------------------------------------------------- | |
1240 !endif | |
1241 !if $(DEBUG_XEMACS) | |
1242 Compiling in debugging support (no slowdown). | |
1243 !endif | |
1244 !if $(OPTIMIZED_BUILD) | |
1245 Compiling with optimization. | |
1246 !endif | |
1247 !if $(QUICK_BUILD) | |
1248 Disabling non-essential build actions. Use with care! | |
1249 !endif | |
1250 !if $(USE_KKCC) | |
1251 Using new experimental GC algorithms. | |
1252 !endif | |
1253 !if $(MC_ALLOC) | |
1254 Using new experimental allocator. | |
1255 !endif | |
1256 <<NOKEEP | |
1257 @echo -------------------------------------------------------------------- | |
1258 @type $(BLDROOT)\Installation | |
1259 @echo -------------------------------------------------------------------- | |
1260 | |
1261 ######################################################################### | 1423 ######################################################################### |
1262 ## Primary rebuilding process ## | 1424 ## Testing-related targets ## |
1263 ######################################################################### | |
1264 | |
1265 ########################### Definitions for linking temacs.exe | |
1266 | |
1267 !if !$(USE_PORTABLE_DUMPER) | |
1268 TEMACS_ENTRYPOINT=-entry:_start | |
1269 !else | |
1270 TEMACS_ENTRYPOINT=-entry:mainCRTStartup | |
1271 !endif | |
1272 | |
1273 TEMACS_BROWSE=$(BLDSRC)\temacs.bsc | |
1274 TEMACS_LIBS=$(LASTFILE) $(MSW_LIBS) \ | |
1275 oldnames.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib \ | |
1276 shell32.lib wsock32.lib netapi32.lib winmm.lib winspool.lib ole32.lib \ | |
1277 mpr.lib uuid.lib imm32.lib $(LIBC_LIB) | |
1278 TEMACS_COMMON_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS_LINK) \ | |
1279 -base:0x1000000 -stack:0x800000 $(TEMACS_ENTRYPOINT) -subsystem:windows \ | |
1280 -heap:0x00100000 -nodefaultlib $(PROFILE_FLAGS) setargv.obj | |
1281 TEMACS_LFLAGS=$(TEMACS_COMMON_LFLAGS) \ | |
1282 -pdb:$(BLDSRC)\temacs.pdb -map:$(BLDSRC)\temacs.map | |
1283 XEMACS_LFLAGS=$(TEMACS_COMMON_LFLAGS) \ | |
1284 -pdb:$(BLDSRC)\xemacs.pdb -map:$(BLDSRC)\xemacs.map | |
1285 | |
1286 ########################### Definitions for running temacs.exe/xemacs.exe | |
1287 | |
1288 RAW_EXE=$(BLDSRC)\temacs.exe | |
1289 DUMP_TARGET = $(BLDSRC)\xemacs.exe | |
1290 DO_TEMACS = "$(BLDLIB_SRC)\i" "$(RAW_EXE)" | |
1291 DO_XEMACS = "$(BLDLIB_SRC)\i" "$(DUMP_TARGET)" | |
1292 | |
1293 BATCH = -no-packages -batch | |
1294 BATCH_PACKAGES = -vanilla -batch | |
1295 TEMACS_BATCH = $(DO_TEMACS) -nd $(BATCH) | |
1296 XEMACS_BATCH = $(DO_XEMACS) $(BATCH) | |
1297 XEMACS_BATCH_PACKAGES = $(DO_XEMACS) $(BATCH_PACKAGES) | |
1298 temacs_loadup_args = -l $(LISP)/loadup.el | |
1299 dump_temacs_args = $(temacs_loadup_args) dump | |
1300 run_temacs_args = $(temacs_loadup_args) run-temacs | |
1301 dump_temacs = $(TEMACS_BATCH) $(dump_temacs_args) | |
1302 | |
1303 ########################### Build rules | |
1304 | |
1305 ## Use this rule to build the complete system. We need both update-elc | |
1306 ## and update-elc-2 due to the sideways dependency of NEEDTODUMP. See | |
1307 ## src/Makefile.in.in for a more detailed discussion of this. | |
1308 | |
1309 all: installation $(OUTDIR)\nul $(LIB_SRC_TOOLS) \ | |
1310 update-elc update-elc-2 \ | |
1311 $(LISP)/finder-inf.el load-shadows info | |
1312 | |
1313 $(TEMACS_BROWSE): $(TEMACS_OBJS) | |
1314 @dir /b/s $(OUTDIR)\*.sbr > $(OUTDIR)\bscmake.tmp | |
1315 bscmake -nologo -o$(TEMACS_BROWSE) @$(OUTDIR)\bscmake.tmp | |
1316 -$(DEL) $(OUTDIR)\bscmake.tmp | |
1317 | |
1318 ## (1) Compile all dependencies of the XEmacs executable | |
1319 | |
1320 $(OUTDIR)\dump-id.obj : $(BLDSRC)\dump-id.c | |
1321 $(CCV) $(TEMACS_CPP_FLAGS) $(BLDSRC)\$(@B).c -Fo$@ $(BROWSERFLAGS) | |
1322 | |
1323 $(BLDSRC)\dump-id.c : $(BLDLIB_SRC)/make-dump-id.exe $(TEMACS_OBJS) | |
1324 cd $(BLDSRC) | |
1325 $(BLDLIB_SRC)\make-dump-id.exe | |
1326 | |
1327 $(OUTDIR)\temacs.res: $(NT)\xemacs.rc | |
1328 cd $(NT) | |
1329 rc -Fo$@ xemacs.rc | |
1330 | |
1331 ## (2) Link the XEmacs executable | |
1332 | |
1333 !if $(USE_PORTABLE_DUMPER) | |
1334 TEMACS_DUMP_DEP = $(OUTDIR)\dump-id.obj | |
1335 !else | |
1336 TEMACS_DUMP_DEP = $(OUTDIR)\temacs.res | |
1337 !endif | |
1338 | |
1339 $(RAW_EXE): $(TEMACS_OBJS) $(LASTFILE) $(TEMACS_DUMP_DEP) | |
1340 link.exe @<< | |
1341 $(TEMACS_LFLAGS) -out:$@ $(TEMACS_OBJS) $(TEMACS_DUMP_DEP) $(TEMACS_LIBS) | |
1342 << | |
1343 | |
1344 !if $(DEBUG_XEMACS) | |
1345 $(RAW_EXE): $(TEMACS_BROWSE) | |
1346 !endif | |
1347 | |
1348 ## (3) Update the .elc's needed for dumping | |
1349 | |
1350 update-elc: $(RAW_EXE) | |
1351 $(TEMACS_BATCH) -l $(LISP)\update-elc.el | |
1352 | |
1353 ## This file is touched by update-elc.el when redumping is necessary. | |
1354 $(BLDSRC)\NEEDTODUMP: | |
1355 @echo >$(BLDSRC)\NEEDTODUMP | |
1356 | |
1357 ## (4) Build the DOC file | |
1358 | |
1359 DOC=$(BLDLIB_SRC)\DOC | |
1360 | |
1361 docfile :: | |
1362 if exist $(DOC) $(DEL) $(DOC) | |
1363 docfile :: $(DOC) | |
1364 | |
1365 # We need to write the QUICK_BUILD stuff as-is (and not just have no | |
1366 # dependencies for DOC) because DOC needs TEMACS_OBJS as dependencies to | |
1367 # get $(**) right. The `touch' is needed because of the way nmake | |
1368 # calculates dependencies; see comments in src/Makefile.in.in. | |
1369 $(DOC): $(BLDLIB_SRC)\make-docfile.exe $(BLDSRC)\NEEDTODUMP $(TEMACS_OBJS) | |
1370 !if $(QUICK_BUILD) | |
1371 if not exist $(DOC) $(TEMACS_BATCH) -l $(LISP)\make-docfile.el -- -o $(DOC) -i $(SRCROOT)\site-packages @<< | |
1372 $(**) | |
1373 << | |
1374 -touch $(DOC) | |
1375 !else | |
1376 $(TEMACS_BATCH) -l $(LISP)\make-docfile.el -- -o $(DOC) -i $(SRCROOT)\site-packages @<< | |
1377 $(**) | |
1378 << | |
1379 !endif | |
1380 | |
1381 ## (5) Dump | |
1382 | |
1383 !if $(USE_PORTABLE_DUMPER) | |
1384 $(DUMP_TARGET): $(NT)\xemacs.rc | |
1385 !endif | |
1386 | |
1387 # This rule dumps xemacs and then possibly spawns sub-make if PURESPACE | |
1388 # requirements have changed. | |
1389 | |
1390 $(DUMP_TARGET): $(DOC) $(RAW_EXE) $(BLDSRC)\NEEDTODUMP | |
1391 $(TEMACS_BATCH) -l $(LISP)\loadup.el dump | |
1392 !if $(USE_PORTABLE_DUMPER) | |
1393 cd $(BLDSRC) | |
1394 rc -d INCLUDE_DUMP -Fo $(OUTDIR)\xemacs.res $(NT)\xemacs.rc | |
1395 # Make the resource section read/write since almost all of it is the dump | |
1396 # data which needs to be writable. This avoids having to copy it. | |
1397 link.exe @<< | |
1398 $(XEMACS_LFLAGS) -section:.rsrc,rw -out:$(BLDSRC)\xemacs.exe $(TEMACS_OBJS) $(OUTDIR)\xemacs.res $(TEMACS_LIBS) $(OUTDIR)\dump-id.obj | |
1399 << | |
1400 -$(DEL) $(BLDSRC)\xemacs.dmp | |
1401 !endif | |
1402 | |
1403 ## (6) Update the remaining .elc's, post-dumping | |
1404 | |
1405 update-elc-2: $(DUMP_TARGET) | |
1406 $(XEMACS_BATCH) -no-autoloads -l update-elc-2.el -f batch-update-elc-2 $(LISP) | |
1407 | |
1408 ## (7) Other random stuff | |
1409 | |
1410 $(LISP)/finder-inf.el: update-elc-2 | |
1411 !if !$(QUICK_BUILD) | |
1412 @echo Building finder database ... | |
1413 $(XEMACS_BATCH) -eval "(setq finder-compile-keywords-quiet t)" \ | |
1414 -l finder -f finder-compile-keywords | |
1415 @echo Building finder database ...(done) | |
1416 !endif | |
1417 | |
1418 load-shadows: update-elc-2 | |
1419 !if !$(QUICK_BUILD) | |
1420 @echo Testing for Lisp shadows ... | |
1421 @$(XEMACS_BATCH) -f list-load-path-shadows | |
1422 !endif | |
1423 | |
1424 ######################################################################### | |
1425 ## Other random crap ## | |
1426 ######################################################################### | 1425 ######################################################################### |
1427 | 1426 |
1428 ########################### Automated tests | 1427 ########################### Automated tests |
1429 | 1428 |
1430 testdir = ../tests/automated | 1429 testdir = ../tests/automated |