comparison nt/xemacs.mak @ 637:2538b7200a20

[xemacs-hg @ 2001-07-26 06:21:45 by stephent] WinME fixes to nt/xemacs.mak.
author stephent
date Thu, 26 Jul 2001 06:21:45 +0000
parents 406bf4f67ac1
children 5c696033aec4
comparison
equal deleted inserted replaced
636:ae97e44a6527 637:2538b7200a20
43 LWLIB_SRCDIR=$(XEMACS)\lwlib 43 LWLIB_SRCDIR=$(XEMACS)\lwlib
44 MAKEDIRSTRING=$(MAKEDIR:\=\\) 44 MAKEDIRSTRING=$(MAKEDIR:\=\\)
45 XEMACSDIRSTRING=$(MAKEDIRSTRING:\\nt=) 45 XEMACSDIRSTRING=$(MAKEDIRSTRING:\\nt=)
46 46
47 47
48 # Define a variable for the 'del' command to use 48 # Common operations
49 # N.B. Windows Millenium Edition's ERASE can only handle one target (file or 49
50 # wildcard) per invocation. Make sure each use has only one target! 50 # Note that some versions of some commands are deficient.
51 DEL=-del 51
52 52 # Define the 'del' command to use
53 # Define a variable for 'copy' command to use 53 # WinME's DEL command can only handle one argument and only has the /P flag.
54 # So only delete one glob at a time. Override flags in config.inc.
55 DEL=del
56
57 # Define the 'copy' command to use
54 # Suppress confirmation for overwriting files 58 # Suppress confirmation for overwriting files
55 COPY=xcopy /q /y 59 COPY=xcopy /q /y
56 COPYDIR=xcopy /q /y /e 60 COPYDIR=xcopy /q /y /e
57 61
58 # Program name and version 62 # Program name and version
432 !if $(HAVE_TOOLBARS) 436 !if $(HAVE_TOOLBARS)
433 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS 437 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
434 MSW_TOOLBAR_SRC=$(SRC)\toolbar.c $(SRC)\toolbar-msw.c 438 MSW_TOOLBAR_SRC=$(SRC)\toolbar.c $(SRC)\toolbar-msw.c
435 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj 439 MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj
436 !endif 440 !endif
441 !if $(HAVE_WIDGETS)
442 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_WIDGETS
443 !endif
444 !if $(HAVE_TOOLBARS) || $(HAVE_WIDGETS)
445 MSW_LIBS=$(MSW_LIBS) comctl32.lib
446 !endif
437 !if $(HAVE_DIALOGS) 447 !if $(HAVE_DIALOGS)
438 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS 448 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS
439 MSW_DIALOG_SRC=$(SRC)\dialog.c $(SRC)\dialog-msw.c 449 MSW_DIALOG_SRC=$(SRC)\dialog.c $(SRC)\dialog-msw.c
440 MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj 450 MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj
441 !endif
442 !if $(HAVE_WIDGETS)
443 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_WIDGETS
444 !endif
445 !if $(HAVE_TOOLBARS) || $(HAVE_WIDGETS)
446 MSW_LIBS=$(MSW_LIBS) comctl32.lib
447 !endif 451 !endif
448 !if $(HAVE_NATIVE_SOUND) 452 !if $(HAVE_NATIVE_SOUND)
449 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_NATIVE_SOUND 453 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_NATIVE_SOUND
450 !endif 454 !endif
451 !endif 455 !endif
1082 1086
1083 $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS) $(OUTDIR)\xemacs.res 1087 $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS) $(OUTDIR)\xemacs.res
1084 !if $(DEBUG_XEMACS) 1088 !if $(DEBUG_XEMACS)
1085 @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp 1089 @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp
1086 bscmake -nologo -o$(TEMACS_BROWSE) @bscmake.tmp 1090 bscmake -nologo -o$(TEMACS_BROWSE) @bscmake.tmp
1087 $(DEL) bscmake.tmp 1091 -$(DEL) bscmake.tmp
1088 !endif 1092 !endif
1089 !if $(USE_PORTABLE_DUMPER) 1093 !if $(USE_PORTABLE_DUMPER)
1090 @if exist $(SRC)\dump-id.c del $(SRC)\dump-id.c 1094 @if exist $(SRC)\dump-id.c $(DEL) $(SRC)\dump-id.c
1091 # make a new dump id file. There is probably a better way to do this, but this works 1095 # make a new dump id file. There is probably a better way to do this, but this works
1092 @if exist $(OUTDIR)\dump-id.obj del $(OUTDIR)\dump-id.obj 1096 @if exist $(OUTDIR)\dump-id.obj $(DEL) $(OUTDIR)\dump-id.obj
1093 nmake -nologo -f xemacs.mak OUTDIR=$(OUTDIR) $(OUTDIR)\dump-id.obj 1097 nmake -nologo -f xemacs.mak OUTDIR=$(OUTDIR) $(OUTDIR)\dump-id.obj
1094 link.exe @<< 1098 link.exe @<<
1095 $(TEMACS_LFLAGS) -out:$@ $(TEMACS_OBJS) $(TEMACS_LIBS) $(OUTDIR)\dump-id.obj 1099 $(TEMACS_LFLAGS) -out:$@ $(TEMACS_OBJS) $(TEMACS_LIBS) $(OUTDIR)\dump-id.obj
1096 << 1100 <<
1097 !else 1101 !else
1140 @echo If you don't have a copy of etags around, then do 'make lib-src' first. 1144 @echo If you don't have a copy of etags around, then do 'make lib-src' first.
1141 @echo To make use of the tags file, put the following in your .emacs: 1145 @echo To make use of the tags file, put the following in your .emacs:
1142 @echo (setq tag-table-alist 1146 @echo (setq tag-table-alist
1143 @echo '(("$(XEMACSDIRSTRING)\\" . "$(XEMACSDIRSTRING)\\"))) 1147 @echo '(("$(XEMACSDIRSTRING)\\" . "$(XEMACSDIRSTRING)\\")))
1144 cd $(XEMACS) 1148 cd $(XEMACS)
1145 $(DEL) TAGS 1149 -$(DEL) TAGS
1146 set PATH=lib-src;%PATH% 1150 set PATH=lib-src;%PATH%
1147 # we need to double ^, but only before backslash! Doubling it elsewhere 1151 # we need to double ^, but only before backslash! Doubling it elsewhere
1148 # causes problems. I don't understand this -- CMD.EXE uses ^ as a quoting 1152 # causes problems. I don't understand this -- CMD.EXE uses ^ as a quoting
1149 # convention of sorts, but appears to leave it alone inside of double quotes, 1153 # convention of sorts, but appears to leave it alone inside of double quotes,
1150 # even before \. Could this be nmake interference? 1154 # even before \. Could this be nmake interference?
1356 1360
1357 LOADPATH=$(LISP) 1361 LOADPATH=$(LISP)
1358 1362
1359 # Rebuild docfile target 1363 # Rebuild docfile target
1360 docfile :: 1364 docfile ::
1361 if exist $(DOC) del $(DOC) 1365 if exist $(DOC) $(DEL) $(DOC)
1362 docfile :: $(DOC) 1366 docfile :: $(DOC)
1363 1367
1364 $(DOC): $(LIB_SRC)\make-docfile.exe $(DOC_SRC1) $(DOC_SRC2) $(DOC_SRC3) $(DOC_SRC4) $(DOC_SRC5) $(DOC_SRC6) $(DOC_SRC7) $(DOC_SRC8) $(DOC_SRC9) $(DOC_SRC10) $(DOC_SRC11) 1368 $(DOC): $(LIB_SRC)\make-docfile.exe $(DOC_SRC1) $(DOC_SRC2) $(DOC_SRC3) $(DOC_SRC4) $(DOC_SRC5) $(DOC_SRC6) $(DOC_SRC7) $(DOC_SRC8) $(DOC_SRC9) $(DOC_SRC10) $(DOC_SRC11)
1365 if exist $(DOC) del $(DOC) 1369 if exist $(DOC) $(DEL) $(DOC)
1366 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH) 1370 set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH)
1367 set EMACSBOOTSTRAPMODULEPATH=$(MODULES) 1371 set EMACSBOOTSTRAPMODULEPATH=$(MODULES)
1368 $(TEMACS_BATCH) -l $(TEMACS_DIR)\..\lisp\make-docfile.el -- -o $(DOC) -i $(XEMACS)\site-packages 1372 $(TEMACS_BATCH) -l $(TEMACS_DIR)\..\lisp\make-docfile.el -- -o $(DOC) -i $(XEMACS)\site-packages
1369 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC1) 1373 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC1)
1370 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC2) 1374 $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC2)
1401 # Make the resource section read/write since almost all of it is the dump 1405 # Make the resource section read/write since almost all of it is the dump
1402 # data which needs to be writable. This avoids having to copy it. 1406 # data which needs to be writable. This avoids having to copy it.
1403 link.exe @<< 1407 link.exe @<<
1404 $(TEMACS_LFLAGS) -section:.rsrc,rw -out:xemacs.exe $(TEMACS_OBJS) $(OUTDIR)\xemacs.res $(TEMACS_LIBS) $(OUTDIR)\dump-id.obj 1408 $(TEMACS_LFLAGS) -section:.rsrc,rw -out:xemacs.exe $(TEMACS_OBJS) $(OUTDIR)\xemacs.res $(TEMACS_LIBS) $(OUTDIR)\dump-id.obj
1405 << 1409 <<
1406 $(DEL) $(TEMACS_DIR)\xemacs.dmp 1410 -$(DEL) $(TEMACS_DIR)\xemacs.dmp
1407 !endif 1411 !endif
1408 cd $(NT) 1412 cd $(NT)
1409 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@ 1413 @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@
1410 #------------------------------------------------------------------------------ 1414 #------------------------------------------------------------------------------
1411 1415
1421 cd $(NT) 1425 cd $(NT)
1422 @echo Installing in $(INSTALL_DIR) ... 1426 @echo Installing in $(INSTALL_DIR) ...
1423 @echo PlaceHolder > PlaceHolder 1427 @echo PlaceHolder > PlaceHolder
1424 @$(COPY) PROBLEMS "$(INSTALL_DIR)\" 1428 @$(COPY) PROBLEMS "$(INSTALL_DIR)\"
1425 @$(COPY) PlaceHolder "$(INSTALL_DIR)\lock\" 1429 @$(COPY) PlaceHolder "$(INSTALL_DIR)\lock\"
1426 $(DEL) "$(INSTALL_DIR)\lock\PlaceHolder" 1430 -$(DEL) "$(INSTALL_DIR)\lock\PlaceHolder"
1427 @$(COPY) $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\" 1431 @$(COPY) $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
1428 @$(COPY) $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)" 1432 @$(COPY) $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1429 @$(COPY) $(CONFIG_VALUES) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)" 1433 @$(COPY) $(CONFIG_VALUES) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1430 @$(COPY) $(SRC)\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)" 1434 @$(COPY) $(SRC)\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
1431 @$(COPYDIR) $(XEMACS)\etc "$(INSTALL_DIR)\etc\" 1435 @$(COPYDIR) $(XEMACS)\etc "$(INSTALL_DIR)\etc\"
1432 @$(COPYDIR) $(XEMACS)\info "$(INSTALL_DIR)\info\" 1436 @$(COPYDIR) $(XEMACS)\info "$(INSTALL_DIR)\info\"
1433 @$(COPYDIR) $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\" 1437 @$(COPYDIR) $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\"
1434 @echo Making skeleton package tree in $(PACKAGE_PREFIX) ... 1438 @echo Making skeleton package tree in $(PACKAGE_PREFIX) ...
1435 @$(COPY) PlaceHolder "$(PACKAGE_PREFIX)\site-packages\" 1439 @$(COPY) PlaceHolder "$(PACKAGE_PREFIX)\site-packages\"
1436 $(DEL) "$(PACKAGE_PREFIX)\site-packages\PlaceHolder" 1440 -$(DEL) "$(PACKAGE_PREFIX)\site-packages\PlaceHolder"
1437 @$(COPY) PlaceHolder "$(PACKAGE_PREFIX)\mule-packages\" 1441 @$(COPY) PlaceHolder "$(PACKAGE_PREFIX)\mule-packages\"
1438 $(DEL) "$(PACKAGE_PREFIX)\mule-packages\PlaceHolder" 1442 -$(DEL) "$(PACKAGE_PREFIX)\mule-packages\PlaceHolder"
1439 @$(COPY) PlaceHolder "$(PACKAGE_PREFIX)\xemacs-packages\" 1443 @$(COPY) PlaceHolder "$(PACKAGE_PREFIX)\xemacs-packages\"
1440 $(DEL) "$(PACKAGE_PREFIX)\xemacs-packages\PlaceHolder" 1444 -$(DEL) "$(PACKAGE_PREFIX)\xemacs-packages\PlaceHolder"
1441 $(DEL) PlaceHolder 1445 -$(DEL) PlaceHolder
1442 1446
1443 mostlyclean: 1447 mostlyclean:
1444 $(DEL) $(XEMACS)\Installation 1448 -$(DEL) $(XEMACS)\Installation
1445 $(DEL) $(OUTDIR)\*.lib 1449 -$(DEL) $(OUTDIR)\*.lib
1446 $(DEL) $(OUTDIR)\*.obj 1450 -$(DEL) $(OUTDIR)\*.obj
1447 $(DEL) $(OUTDIR)\*.pdb 1451 -$(DEL) $(OUTDIR)\*.pdb
1448 $(DEL) $(OUTDIR)\*.res 1452 -$(DEL) $(OUTDIR)\*.res
1449 $(DEL) $(OUTDIR)\*.sbr 1453 -$(DEL) $(OUTDIR)\*.sbr
1450 $(DEL) $(SRC)\*.exe 1454 -$(DEL) $(SRC)\*.exe
1451 $(DEL) $(SRC)\*.map 1455 -$(DEL) $(SRC)\*.map
1452 $(DEL) $(SRC)\*.bsc 1456 -$(DEL) $(SRC)\*.bsc
1453 $(DEL) $(SRC)\*.pdb 1457 -$(DEL) $(SRC)\*.pdb
1454 $(DEL) $(LIB_SRC)\*.exe 1458 -$(DEL) $(LIB_SRC)\*.exe
1455 $(DEL) $(LIB_SRC)\*.obj 1459 -$(DEL) $(LIB_SRC)\*.obj
1456 $(DEL) $(LIB_SRC)\*.pdb 1460 -$(DEL) $(LIB_SRC)\*.pdb
1457 $(DEL) $(LIB_SRC)\*.res 1461 -$(DEL) $(LIB_SRC)\*.res
1458 1462
1459 clean: mostlyclean versionclean 1463 clean: mostlyclean versionclean
1460 $(DEL) $(XEMACS)\TAGS 1464 -$(DEL) $(XEMACS)\TAGS
1461 1465
1462 nicenclean: clean 1466 nicenclean: clean
1463 $(DEL) $(NT)\*.bak 1467 -$(DEL) $(NT)\*.bak
1464 $(DEL) $(NT)\*.orig 1468 -$(DEL) $(NT)\*.orig
1465 $(DEL) $(NT)\*.rej 1469 -$(DEL) $(NT)\*.rej
1466 $(DEL) $(NT)\*.tmp 1470 -$(DEL) $(NT)\*.tmp
1467 $(DEL) $(LIB_SRC)\*.bak 1471 -$(DEL) $(LIB_SRC)\*.bak
1468 $(DEL) $(LIB_SRC)\*.orig 1472 -$(DEL) $(LIB_SRC)\*.orig
1469 $(DEL) $(LIB_SRC)\*.rej 1473 -$(DEL) $(LIB_SRC)\*.rej
1470 $(DEL) $(LIB_SRC)\*.tmp 1474 -$(DEL) $(LIB_SRC)\*.tmp
1471 $(DEL) $(SRC)\*.bak 1475 -$(DEL) $(SRC)\*.bak
1472 $(DEL) $(SRC)\*.orig 1476 -$(DEL) $(SRC)\*.orig
1473 $(DEL) $(SRC)\*.rej 1477 -$(DEL) $(SRC)\*.rej
1474 $(DEL) $(SRC)\*.tmp 1478 -$(DEL) $(SRC)\*.tmp
1475 $(DEL) $(LISP)\*.bak 1479 -$(DEL) $(LISP)\*.bak
1476 $(DEL) $(LISP)\*.orig 1480 -$(DEL) $(LISP)\*.orig
1477 $(DEL) $(LISP)\*.rej 1481 -$(DEL) $(LISP)\*.rej
1478 $(DEL) $(LISP)\*.tmp 1482 -$(DEL) $(LISP)\*.tmp
1483
1484 # Convenience target.
1485 # Reproducing the configuration is just a matter of copying, and if
1486 # we use the same directory for Cygwin builds these must go. We don't
1487 # want to use distclean.
1488 configclean:
1489 -$(DEL) $(SRC)\config.h
1490 -$(DEL) $(SRC)\paths.h
1491 -$(DEL) $(SRC)\Emacs.ad.h
1479 1492
1480 ## This is used in making a distribution. 1493 ## This is used in making a distribution.
1481 ## Do not use it on development directories! 1494 ## Do not use it on development directories!
1482 distclean: nicenclean 1495 distclean: nicenclean configclean
1483 $(DEL) $(SRC)\config.h 1496 -$(DEL) $(LIB_SRC)\$(CONFIG_VALUES)
1484 $(DEL) $(SRC)\paths.h 1497 -$(DEL) $(INFODIR)\*.info*
1485 $(DEL) $(SRC)\Emacs.ad.h 1498 -$(DEL) $(LISP)\*.elc
1486 $(DEL) $(CONFIG_VALUES) 1499 -$(DEL) $(LISP)\mule\*.elc
1487 $(DEL) $(INFODIR)\*.info* 1500 -$(DEL) $(LISP)\term\*.elc
1488 $(DEL) $(LISP)\*.elc
1489 1501
1490 realclean: distclean 1502 realclean: distclean
1491 1503
1492 versionclean: 1504 versionclean:
1493 $(DEL) $(SRC)\xemacs.exe 1505 -$(DEL) $(SRC)\xemacs.exe
1494 $(DEL) $(LIB_SRC)\DOC 1506 -$(DEL) $(LIB_SRC)\DOC
1495 1507
1496 #not sure about those wildcards. DOS wildcards are stupid compared to Unix, 1508 #not sure about those wildcards. DOS wildcards are stupid compared to Unix,
1497 #and could end up deleting *everything* instead of just backup files or 1509 #and could end up deleting *everything* instead of just backup files or
1498 #whatever. 1510 #whatever. So just leave it at "realclean"
1499 #extraclean: realclean 1511 extraclean: realclean
1500 # $(DEL) *~ *.*~ #* m\*~ m\#* s\*~ s\#* 1512 # -$(DEL) *~
1513 # -$(DEL) *.*~
1514 # -$(DEL) #*
1515 # -$(DEL) m\*~
1516 # -$(DEL) m\#*
1517 # -$(DEL) s\*~
1518 # -$(DEL) s\#*
1501 1519
1502 depend: 1520 depend:
1503 cd $(SRC) 1521 cd $(SRC)
1504 perl ./make-src-depend > depend.tmp 1522 perl ./make-src-depend > depend.tmp
1505 perl -MFile::Compare -e "compare('depend.tmp', 'depend') && rename('depend.tmp', 'depend') or unlink('depend.tmp')" 1523 perl -MFile::Compare -e "compare('depend.tmp', 'depend') && rename('depend.tmp', 'depend') or unlink('depend.tmp')"