From 5683177b814d5a8fbfa9207ae7b6dd4c5a43d331 Mon Sep 17 00:00:00 2001 From: cuz Date: Thu, 21 Jun 2007 20:42:16 +0000 Subject: [PATCH] Changes from Greg King git-svn-id: svn://svn.cc65.org/cc65/trunk@3782 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- make/gcc.mak | 45 +++++++++++++++++++++++++----------- make/install-sh | 5 ++++ packages/windows/install.vbs | 25 ++++++++++---------- 3 files changed, 50 insertions(+), 25 deletions(-) diff --git a/make/gcc.mak b/make/gcc.mak index bee4bd93f..1b39140c0 100644 --- a/make/gcc.mak +++ b/make/gcc.mak @@ -14,7 +14,7 @@ MAKEOVERRIDES= # The install prefix and directories -prefix = /usr +prefix = /usr/local exec_prefix = $(prefix) bindir = $(exec_prefix)/bin @@ -35,12 +35,16 @@ MKDIR = mkdir -m 755 # BSD-like install-script/-program INSTALL = make/install-sh -#INSTALL = install INSTALL_DATA = $(INSTALL) -c -m 644 INSTALL_PROG = $(INSTALL) -c -m 755 INSTALL_STRIP = $(INSTALL_PROG) -s +# This file-name extension is needed on DOS/Windows systems. +ifdef COMSPEC +EXT = .exe +endif + # Rules # The sample and library-test programs must be compiled for only one platform @@ -51,7 +55,7 @@ INSTALL_STRIP = $(INSTALL_PROG) -s all: bins libs docs $(SYS:%=samples tests) bins: - @$(MAKE) -C src -f make/gcc.mak + @$(MAKE) -C src -f make/gcc.mak CC65_INC=\\\"${CC65INC}/\\\" CC65_LIB=\\\"${CC65LIB}/\\\" libs: @$(MAKE) -C libsrc @@ -81,12 +85,13 @@ clean zap: # $(MAKE) -C testcode/lib $@ $(SYS:%=SYS=%) uninstall: install-test - cd $(bindir) && $(RM) ar65 ca65 cc65 cl65 co65 da65 ld65 od65 grc ca65html + cd $(bindir) && $(RM) ar65${EXT} ca65${EXT} cc65${EXT} cl65${EXT} \ + co65${EXT} da65${EXT} ld65${EXT} od65${EXT} grc${EXT} ca65html $(RM) -R $(CC65DATA) $(CC65DOC) install: install-test install-dirs install-bins install-libs install-docs @echo - @echo 'You should export some shell environment variables:' + @echo 'You can export some shell environment variables:' @echo @echo 'CC65_INC=$(CC65INC)' @echo 'CC65_LIB=$(CC65LIB)' @@ -104,16 +109,30 @@ install-test: .PHONY: install-dirs install-dirs: - -$(MKDIR) -p $(bindir) $(docdir) $(libdir) - -$(MKDIR) $(CC65DATA) $(CC65ASM) $(CC65DOC) $(CC65INC) - -$(MKDIR) $(CC65INC)/em $(CC65INC)/geos $(CC65INC)/joystick \ - $(CC65INC)/mouse $(CC65INC)/sys $(CC65INC)/tgi - -$(MKDIR) $(CC65LIB) $(CC65DATA)/emd $(CC65DATA)/joy \ - $(CC65DATA)/mou $(CC65DATA)/ser $(CC65DATA)/tgi + [ -d $(bindir) ] || $(MKDIR) $(bindir) + [ -d $(datadir) ] || $(MKDIR) $(datadir) + [ -d $(docdir) ] || $(MKDIR) $(docdir) + [ -d $(libdir) ] || $(MKDIR) $(libdir) + [ -d $(CC65DOC) ] || $(MKDIR) $(CC65DOC) + [ -d $(CC65DATA) ] || $(MKDIR) $(CC65DATA) + [ -d $(CC65ASM) ] || $(MKDIR) $(CC65ASM) + [ -d $(CC65LIB) ] || $(MKDIR) $(CC65LIB) + [ -d $(CC65INC) ] || $(MKDIR) $(CC65INC) + [ -d $(CC65INC)/em ] || $(MKDIR) $(CC65INC)/em + [ -d $(CC65INC)/geos ] || $(MKDIR) $(CC65INC)/geos + [ -d $(CC65INC)/joystick ] || $(MKDIR) $(CC65INC)/joystick + [ -d $(CC65INC)/mouse ] || $(MKDIR) $(CC65INC)/mouse + [ -d $(CC65INC)/sys ] || $(MKDIR) $(CC65INC)/sys + [ -d $(CC65INC)/tgi ] || $(MKDIR) $(CC65INC)/tgi + [ -d $(CC65DATA)/emd ] || $(MKDIR) $(CC65DATA)/emd + [ -d $(CC65DATA)/joy ] || $(MKDIR) $(CC65DATA)/joy + [ -d $(CC65DATA)/mou ] || $(MKDIR) $(CC65DATA)/mou + [ -d $(CC65DATA)/ser ] || $(MKDIR) $(CC65DATA)/ser + [ -d $(CC65DATA)/tgi ] || $(MKDIR) $(CC65DATA)/tgi install-bins: for f in ar65 ca65 cc65 cl65 co65 da65 ld65 od65 grc; \ - do $(INSTALL_STRIP) src/$$f/$$f $(bindir) || exit 1; \ + do $(INSTALL_STRIP) src/$$f/$$f${EXT} $(bindir) || exit 1; \ done $(INSTALL_PROG) src/ca65html/ca65html $(bindir) @@ -142,7 +161,7 @@ install-docs: for f in src/ld65/cfg/*.cfg src/ca65/macpack/*.mac; \ do $(INSTALL_DATA) $$f $(CC65DOC) || exit 1; \ done - for f in readme.1st compile.txt BUGS internal.txt newvers.txt; \ + for f in readme.1st compile.txt CREDITS BUGS internal.txt newvers.txt; \ do $(INSTALL_DATA) doc/$$f $(CC65DOC) || exit 1; \ done if [ -e doc/index.htm* ]; \ diff --git a/make/install-sh b/make/install-sh index a44791ff4..3fe6c2665 100755 --- a/make/install-sh +++ b/make/install-sh @@ -5,6 +5,11 @@ # This isn't a full install-script; it does only what is needed by the cc65 # package. It can install only one file at a time. +# If the system has an "install" command, then use it; otherwise, emulate it. +if type install >/dev/null 2>&1 +then exec install "$@" +fi + # Don't use ":-" because 4.3BSD and earlier shells don't like it. # Put in absolute paths if you don't have these commands in your PATH; # or, set these upper-case variables in your environment. diff --git a/packages/windows/install.vbs b/packages/windows/install.vbs index c5d92dcbc..4fdbda7f6 100644 --- a/packages/windows/install.vbs +++ b/packages/windows/install.vbs @@ -6,9 +6,9 @@ Option Explicit ' Variables must be declared explicitly ' Installer defaults. '****************************************************************************** const AppName = "cc65" -const Version = "2.10.5.20050325" +const Version = "2.11.9" const Installer = "cc65 Installer" -const SpaceNeeded = 20 ' Free space needed on drive in MB +const SpaceNeeded = 20 ' Free space needed on drive in MiB. const Shortcut = true ' Create shortcut on desktop @@ -24,7 +24,7 @@ const SysPath = "HKLM\System\CurrentControlSet\Control\Session Manager\Environme '****************************************************************************** ' Global variables '****************************************************************************** -dim Tab, NewLine ' String constants +dim Tab, NewLine, Quote ' String constants dim Shell, FSO ' Global objects dim ProgArgs ' Program arguments dim Dbg ' Output debugging stuff @@ -195,7 +195,7 @@ end function '****************************************************************************** -' Return an environment string. Fix up Microsofts "innovative" ideas. +' Return an environment string. Fix up Microsoft's "innovative" ideas. '****************************************************************************** function GetEnv (Key) dim Value @@ -475,6 +475,7 @@ sub InitializeGlobals () ' String stuff used for formatting Tab = Chr (9) NewLine = Chr (13) + Quote = Chr (34) ' Global objects set Shell = WScript.CreateObject ("WScript.Shell") @@ -530,9 +531,9 @@ sub InitializeGlobals () ' Uninstaller set UninstallCtrlFile = nothing - Uninstaller = BuildPath (InstallTarget, "uninstall.vbs") + Uninstaller = Quote & BuildPath (InstallTarget, "uninstall.vbs") & Quote UninstallCtrlFileName = BuildPath (InstallTarget, "uninstall.lst") - UninstallerCmdLine = "-" & Language & " " & AppName & " " & UninstallCtrlFileName + UninstallerCmdLine = "-" & Language & " " & AppName & " " & Quote & UninstallCtrlFileName & Quote ' Registry paths RegUninstall = "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\" & AppName & "\" @@ -632,7 +633,7 @@ sub ShowPathsAndLocations () dim Msg Msg = Msg & OneLoc ("SystemDrive", SystemDrive) Msg = Msg & OneLoc ("SystemRoot", SystemRoot) - Msg = Msg & OneLoc ("UserName", UserName) + Msg = Msg & OneLoc ("User Name", UserName) Msg = Msg & OneLoc ("UserProfile", UserProfile) Msg = Msg & OneLoc ("ProgramFiles", ProgramFiles) Msg = Msg & OneLoc ("AppData", AppData) @@ -938,7 +939,7 @@ sub CreateRegEntries () call Abort (GetMsg ("MSG_REGWRITEERR")) end if call RegWriteStr (RegUninstall & "DisplayName", AppName & " " & Version) - call RegWriteStr (RegUninstall & "UninstallString", "wscript //nologo " & Uninstaller & " " & UninstallerCmdLine) + call RegWriteStr (RegUninstall & "UninstallString", "wscript /nologo " & Uninstaller & " " & UninstallerCmdLine) end sub @@ -1087,12 +1088,12 @@ sub AddEnvironment () ' Add the bin directory to the path if it's not already there if not DirInPath (BinDir) then call AddToSysPath (BinDir) - - ' Run the wm_envchange program to notify other running programs - ' of the changed environment. Ignore errors. - call Run (BuildPath (BinDir, "wm_envchange.exe"), 0) end if + ' Run the wm_envchange program to notify other running programs + ' of the changed environment. Ignore errors. + call Run (BuildPath (BinDir, "wm_envchange.exe"), 0) + end sub -- 2.39.5