Browse Source

Avoid placing COMPILER_UNITTARGETDIR in the prerequisite list of assmebler files,
as those directories are modified by any new file in that directory, which
lead to repeated (and useless) recompilation of assembler files on linux systems.

git-svn-id: trunk@36173 -

pierre 8 years ago
parent
commit
ac3b9ac979
6 changed files with 76 additions and 38 deletions
  1. 16 8
      rtl/linux/Makefile
  2. 16 8
      rtl/linux/Makefile.fpc
  3. 12 6
      rtl/msdos/Makefile
  4. 12 6
      rtl/msdos/Makefile.fpc
  5. 10 5
      rtl/win16/Makefile
  6. 10 5
      rtl/win16/Makefile.fpc

+ 16 - 8
rtl/linux/Makefile

@@ -3682,32 +3682,40 @@ ifeq ($(ARCH),arm)
     ARMTHUMB=1
     ARMTHUMB=1
   endif
   endif
 endif
 endif
-prt0$(OEXT) : $(ARCH)/prt0.as $(COMPILER_UNITTARGETDIR)
+prt0$(OEXT) : $(ARCH)/prt0.as
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(ARCH)/prt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(ARCH)/prt0.as
-abitag$(OEXT) : $(ARCH)/abitag.as $(COMPILER_UNITTARGETDIR)
+abitag$(OEXT) : $(ARCH)/abitag.as
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)abitag$(OEXT) $(ARCH)/abitag.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)abitag$(OEXT) $(ARCH)/abitag.as
-dllprt0$(OEXT) : $(ARCH)/dllprt0.as $(COMPILER_UNITTARGETDIR)
+dllprt0$(OEXT) : $(ARCH)/dllprt0.as
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 ifndef ARMTHUMB
 ifndef ARMTHUMB
 	$(AS) $(ASTARGET) $(ASSHAREDOPT) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(ARCH)/dllprt0.as
 	$(AS) $(ASTARGET) $(ASSHAREDOPT) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(ARCH)/dllprt0.as
 endif
 endif
-gprt0$(OEXT) : $(ARCH)/gprt0.as $(COMPILER_UNITTARGETDIR)
+gprt0$(OEXT) : $(ARCH)/gprt0.as
 ifndef ARMTHUMB
 ifndef ARMTHUMB
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(ARCH)/gprt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(ARCH)/gprt0.as
 endif
 endif
-cprt0$(OEXT) : $(ARCH)/cprt0.as $(COMPILER_UNITTARGETDIR)
+cprt0$(OEXT) : $(ARCH)/cprt0.as
 ifndef ARMTHUMB
 ifndef ARMTHUMB
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt0$(OEXT) $(ARCH)/cprt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt0$(OEXT) $(ARCH)/cprt0.as
 endif
 endif
-cprt21$(OEXT) : $(ARCH)/cprt21.as $(COMPILER_UNITTARGETDIR)
+cprt21$(OEXT) : $(ARCH)/cprt21.as
 ifndef ARMTHUMB
 ifndef ARMTHUMB
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt21$(OEXT) $(ARCH)/cprt21.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt21$(OEXT) $(ARCH)/cprt21.as
 endif
 endif
-gprt21$(OEXT) : $(ARCH)/gprt21.as $(COMPILER_UNITTARGETDIR)
+gprt21$(OEXT) : $(ARCH)/gprt21.as
 ifndef ARMTHUMB
 ifndef ARMTHUMB
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)gprt21$(OEXT) $(ARCH)/gprt21.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)gprt21$(OEXT) $(ARCH)/gprt21.as
 endif
 endif
-ucprt0$(OEXT) : $(ARCH)/ucprt0.as $(COMPILER_UNITTARGETDIR)
+ucprt0$(OEXT) : $(ARCH)/ucprt0.as
 ifndef ARMTHUMB
 ifndef ARMTHUMB
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)$@ $<
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)$@ $<
 endif
 endif
 si_prc$(PPUEXT) : si_prc.pp si_intf.inc $(ARCH)/sysnr.inc $(ARCH)/si_prc.inc $(SYSTEMUNIT)$(PPUEXT)
 si_prc$(PPUEXT) : si_prc.pp si_intf.inc $(ARCH)/sysnr.inc $(ARCH)/si_prc.inc $(SYSTEMUNIT)$(PPUEXT)

+ 16 - 8
rtl/linux/Makefile.fpc

@@ -177,43 +177,51 @@ endif
 # Loaders
 # Loaders
 #
 #
 
 
-prt0$(OEXT) : $(ARCH)/prt0.as $(COMPILER_UNITTARGETDIR)
+prt0$(OEXT) : $(ARCH)/prt0.as
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(ARCH)/prt0.as
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(ARCH)/prt0.as
 
 
-abitag$(OEXT) : $(ARCH)/abitag.as $(COMPILER_UNITTARGETDIR)
+abitag$(OEXT) : $(ARCH)/abitag.as
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)abitag$(OEXT) $(ARCH)/abitag.as
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)abitag$(OEXT) $(ARCH)/abitag.as
 
 
 # ASSHAREDOPT adds -KPIC mandatoy for mips/mipsel objects in shared libs
 # ASSHAREDOPT adds -KPIC mandatoy for mips/mipsel objects in shared libs
 #
 #
 # the following startup files do not support thumb yet
 # the following startup files do not support thumb yet
 #
 #
-dllprt0$(OEXT) : $(ARCH)/dllprt0.as $(COMPILER_UNITTARGETDIR)
+dllprt0$(OEXT) : $(ARCH)/dllprt0.as
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 ifndef ARMTHUMB
 ifndef ARMTHUMB
         $(AS) $(ASTARGET) $(ASSHAREDOPT) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(ARCH)/dllprt0.as
         $(AS) $(ASTARGET) $(ASSHAREDOPT) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(ARCH)/dllprt0.as
 endif
 endif
 
 
-gprt0$(OEXT) : $(ARCH)/gprt0.as $(COMPILER_UNITTARGETDIR)
+gprt0$(OEXT) : $(ARCH)/gprt0.as
 ifndef ARMTHUMB
 ifndef ARMTHUMB
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(ARCH)/gprt0.as
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(ARCH)/gprt0.as
 endif
 endif
 
 
-cprt0$(OEXT) : $(ARCH)/cprt0.as $(COMPILER_UNITTARGETDIR)
+cprt0$(OEXT) : $(ARCH)/cprt0.as
 ifndef ARMTHUMB
 ifndef ARMTHUMB
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt0$(OEXT) $(ARCH)/cprt0.as
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt0$(OEXT) $(ARCH)/cprt0.as
 endif
 endif
 
 
-cprt21$(OEXT) : $(ARCH)/cprt21.as $(COMPILER_UNITTARGETDIR)
+cprt21$(OEXT) : $(ARCH)/cprt21.as
 ifndef ARMTHUMB
 ifndef ARMTHUMB
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt21$(OEXT) $(ARCH)/cprt21.as
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt21$(OEXT) $(ARCH)/cprt21.as
 endif
 endif
 
 
-gprt21$(OEXT) : $(ARCH)/gprt21.as $(COMPILER_UNITTARGETDIR)
+gprt21$(OEXT) : $(ARCH)/gprt21.as
 ifndef ARMTHUMB
 ifndef ARMTHUMB
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)gprt21$(OEXT) $(ARCH)/gprt21.as
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)gprt21$(OEXT) $(ARCH)/gprt21.as
 endif
 endif
 
 
-ucprt0$(OEXT) : $(ARCH)/ucprt0.as $(COMPILER_UNITTARGETDIR)
+ucprt0$(OEXT) : $(ARCH)/ucprt0.as
 ifndef ARMTHUMB
 ifndef ARMTHUMB
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)$@ $<
         $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)$@ $<
 endif
 endif
 
 

+ 12 - 6
rtl/msdos/Makefile

@@ -2851,17 +2851,23 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-prt0s$(OEXT) : prt0s.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0s$(OEXT) : prt0s.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
-prt0t$(OEXT) : prt0t.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0t$(OEXT) : prt0t.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0t$(OEXT) prt0t.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0t$(OEXT) prt0t.asm
-prt0m$(OEXT) : prt0m.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0m$(OEXT) : prt0m.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0m$(OEXT) prt0m.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0m$(OEXT) prt0m.asm
-prt0c$(OEXT) : prt0c.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0c$(OEXT) : prt0c.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0c$(OEXT) prt0c.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0c$(OEXT) prt0c.asm
-prt0l$(OEXT) : prt0l.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0l$(OEXT) : prt0l.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0l$(OEXT) prt0l.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0l$(OEXT) prt0l.asm
-prt0h$(OEXT) : prt0h.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0h$(OEXT) : prt0h.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0h$(OEXT) prt0h.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0h$(OEXT) prt0h.asm
 system$(PPUEXT) : system.pp $(SYSDEPS) $(INC)/tnyheaph.inc $(INC)/tinyheap.inc registers.inc
 system$(PPUEXT) : system.pp $(SYSDEPS) $(INC)/tnyheaph.inc $(INC)/tinyheap.inc registers.inc
 	$(COMPILER) -Us -Sg system.pp
 	$(COMPILER) -Us -Sg system.pp

+ 12 - 6
rtl/msdos/Makefile.fpc

@@ -65,17 +65,23 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 #
 #
 # Loaders
 # Loaders
 #
 #
-prt0s$(OEXT) : prt0s.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0s$(OEXT) : prt0s.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
-prt0t$(OEXT) : prt0t.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0t$(OEXT) : prt0t.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0t$(OEXT) prt0t.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0t$(OEXT) prt0t.asm
-prt0m$(OEXT) : prt0m.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0m$(OEXT) : prt0m.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0m$(OEXT) prt0m.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0m$(OEXT) prt0m.asm
-prt0c$(OEXT) : prt0c.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0c$(OEXT) : prt0c.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0c$(OEXT) prt0c.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0c$(OEXT) prt0c.asm
-prt0l$(OEXT) : prt0l.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0l$(OEXT) : prt0l.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0l$(OEXT) prt0l.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0l$(OEXT) prt0l.asm
-prt0h$(OEXT) : prt0h.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0h$(OEXT) : prt0h.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0h$(OEXT) prt0h.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0h$(OEXT) prt0h.asm
 #
 #
 # System Units (System, Objpas, Strings)
 # System Units (System, Objpas, Strings)

+ 10 - 5
rtl/win16/Makefile

@@ -2596,15 +2596,20 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-prt0s$(OEXT) : prt0s.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0s$(OEXT) : prt0s.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
-prt0m$(OEXT) : prt0m.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0m$(OEXT) : prt0m.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0m$(OEXT) prt0m.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0m$(OEXT) prt0m.asm
-prt0c$(OEXT) : prt0c.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0c$(OEXT) : prt0c.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0c$(OEXT) prt0c.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0c$(OEXT) prt0c.asm
-prt0l$(OEXT) : prt0l.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0l$(OEXT) : prt0l.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0l$(OEXT) prt0l.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0l$(OEXT) prt0l.asm
-prt0h$(OEXT) : prt0h.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0h$(OEXT) : prt0h.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0h$(OEXT) prt0h.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0h$(OEXT) prt0h.asm
 system$(PPUEXT) : system.pp $(SYSDEPS) wintypes.inc winprocsh.inc winprocs.inc \
 system$(PPUEXT) : system.pp $(SYSDEPS) wintypes.inc winprocsh.inc winprocs.inc \
 		  glbheap.inc glbheaph.inc locheap.inc locheaph.inc \
 		  glbheap.inc glbheaph.inc locheap.inc locheaph.inc \

+ 10 - 5
rtl/win16/Makefile.fpc

@@ -55,15 +55,20 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 #
 #
 # Loaders
 # Loaders
 #
 #
-prt0s$(OEXT) : prt0s.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0s$(OEXT) : prt0s.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
-prt0m$(OEXT) : prt0m.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0m$(OEXT) : prt0m.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0m$(OEXT) prt0m.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0m$(OEXT) prt0m.asm
-prt0c$(OEXT) : prt0c.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0c$(OEXT) : prt0c.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0c$(OEXT) prt0c.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0c$(OEXT) prt0c.asm
-prt0l$(OEXT) : prt0l.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0l$(OEXT) : prt0l.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0l$(OEXT) prt0l.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0l$(OEXT) prt0l.asm
-prt0h$(OEXT) : prt0h.asm prt0comn.asm $(COMPILER_UNITTARGETDIR)
+prt0h$(OEXT) : prt0h.asm prt0comn.asm
+	$(MAKE) $(COMPILER_UNITTARGETDIR)
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0h$(OEXT) prt0h.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0h$(OEXT) prt0h.asm
 #
 #
 # System Units (System, Objpas, Strings)
 # System Units (System, Objpas, Strings)