diff --git a/runtime/spell/en/main.aap b/runtime/spell/en/main.aap
index d466830..37a9ed1 100644
--- a/runtime/spell/en/main.aap
+++ b/runtime/spell/en/main.aap
@@ -13,21 +13,21 @@
            en_GB.aff en_GB.dic
            en_NZ.aff en_NZ.dic
 
-all: $(SPELLDIR)/en.latin1.spl $(SPELLDIR)/en.utf-8.spl \
-        $(SPELLDIR)/en.ascii.spl ../README_en.txt
+all: $SPELLDIR/en.latin1.spl $SPELLDIR/en.utf-8.spl \
+        $SPELLDIR/en.ascii.spl ../README_en.txt
 
-$(SPELLDIR)/en.latin1.spl : $(VIM) $(FILES)
+$SPELLDIR/en.latin1.spl : $VIM $FILES
         :sys env LANG=en_US.ISO8859-1
-		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/en
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/en
                         en_US en_AU en_CA en_GB en_NZ" -c q
 
-$(SPELLDIR)/en.utf-8.spl : $(VIM) $(FILES)
+$SPELLDIR/en.utf-8.spl : $VIM $FILES
         :sys env LANG=en_US.UTF-8
-		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/en
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/en
                         en_US en_AU en_CA en_GB en_NZ" -c q
 
-$(SPELLDIR)/en.ascii.spl : $(VIM) $(FILES)
-        :sys $(VIM) -u NONE -e -c "mkspell! -ascii $(SPELLDIR)/en
+$SPELLDIR/en.ascii.spl : $VIM $FILES
+        :sys $VIM -u NONE -e -c "mkspell! -ascii $SPELLDIR/en
                         en_US en_AU en_CA en_GB en_NZ" -c q
  
 ../README_en.txt: README_en_US.txt README_en_AU.txt
@@ -50,7 +50,7 @@
 # Fetching the files from OpenOffice.org.
 #
 OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
-:attr {fetch = $(OODIR)/%file%} en_US.zip en_CA.zip en_NZ.zip
+:attr {fetch = $OODIR/%file%} en_US.zip en_CA.zip en_NZ.zip
                                 en_GB.zip en_AU.zip
 
 # The files don't depend on the .zip file so that we can delete it.
@@ -58,61 +58,61 @@
 en_US.aff en_US.dic: {buildcheck=}
         :assertpkg unzip patch
         :fetch en_US.zip
-        :sys $(UNZIP) en_US.zip
+        :sys $UNZIP en_US.zip
         :delete en_US.zip
         @if not os.path.exists('en_US.orig.aff'):
-                :copy en_US.aff en_US.orig.aff
+            :copy en_US.aff en_US.orig.aff
         @if not os.path.exists('en_US.orig.dic'):
-                :copy en_US.dic en_US.orig.dic
+            :copy en_US.dic en_US.orig.dic
         @if os.path.exists('en_US.diff'):
             :sys patch <en_US.diff
 
 en_AU.aff en_AU.dic: {buildcheck=}
         :assertpkg unzip patch
         :fetch en_AU.zip
-        :sys $(UNZIP) en_AU.zip
+        :sys $UNZIP en_AU.zip
         :delete en_AU.zip
         @if not os.path.exists('en_AU.orig.aff'):
-                :copy en_AU.aff en_AU.orig.aff
+            :copy en_AU.aff en_AU.orig.aff
         @if not os.path.exists('en_AU.orig.dic'):
-                :copy en_AU.dic en_AU.orig.dic
+            :copy en_AU.dic en_AU.orig.dic
         @if os.path.exists('en_AU.diff'):
             :sys patch <en_AU.diff
 
 en_CA.aff en_CA.dic: {buildcheck=}
         :assertpkg unzip patch
         :fetch en_CA.zip
-        :sys $(UNZIP) en_CA.zip
+        :sys $UNZIP en_CA.zip
         :delete en_CA.zip
         @if not os.path.exists('en_CA.orig.aff'):
-                :copy en_CA.aff en_CA.orig.aff
+            :copy en_CA.aff en_CA.orig.aff
         @if not os.path.exists('en_CA.orig.dic'):
-                :copy en_CA.dic en_CA.orig.dic
+            :copy en_CA.dic en_CA.orig.dic
         @if os.path.exists('en_CA.diff'):
             :sys patch <en_CA.diff
 
 en_GB.aff en_GB.dic: {buildcheck=}
         :assertpkg unzip patch
         :fetch en_GB.zip
-        :sys $(UNZIP) en_GB.zip
+        :sys $UNZIP en_GB.zip
         :delete en_GB.zip
         :delete dictionary.lst.example
         @if not os.path.exists('en_GB.orig.aff'):
-                :copy en_GB.aff en_GB.orig.aff
+            :copy en_GB.aff en_GB.orig.aff
         @if not os.path.exists('en_GB.orig.dic'):
-                :copy en_GB.dic en_GB.orig.dic
+            :copy en_GB.dic en_GB.orig.dic
         @if os.path.exists('en_GB.diff'):
             :sys patch <en_GB.diff
 
 en_NZ.aff en_NZ.dic: {buildcheck=}
         :assertpkg unzip patch
         :fetch en_NZ.zip
-        :sys $(UNZIP) en_NZ.zip
+        :sys $UNZIP en_NZ.zip
         :delete en_NZ.zip
         @if not os.path.exists('en_NZ.orig.aff'):
-                :copy en_NZ.aff en_NZ.orig.aff
+            :copy en_NZ.aff en_NZ.orig.aff
         @if not os.path.exists('en_NZ.orig.dic'):
-                :copy en_NZ.dic en_NZ.orig.dic
+            :copy en_NZ.dic en_NZ.orig.dic
         @if os.path.exists('en_NZ.diff'):
             :sys patch <en_NZ.diff
 
@@ -146,7 +146,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../en_US.zip
+            :sys $UNZIP ../en_US.zip
             :sys {force} diff ../en_US.orig.aff en_US.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy en_US.aff ../en_US.new.aff
@@ -165,7 +165,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../en_AU.zip
+            :sys $UNZIP ../en_AU.zip
             :sys {force} diff ../en_AU.orig.aff en_AU.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy en_AU.aff ../en_AU.new.aff
@@ -184,7 +184,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../en_CA.zip
+            :sys $UNZIP ../en_CA.zip
             :sys {force} diff ../en_CA.orig.aff en_CA.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy en_CA.aff ../en_CA.new.aff
@@ -203,7 +203,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../en_GB.zip
+            :sys $UNZIP ../en_GB.zip
             :sys {force} diff ../en_GB.orig.aff en_GB.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy en_GB.aff ../en_GB.new.aff
@@ -222,7 +222,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../en_NZ.zip
+            :sys $UNZIP ../en_NZ.zip
             :sys {force} diff ../en_NZ.orig.aff en_NZ.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy en_NZ.aff ../en_NZ.new.aff
