Makefile 使用方法
Makefile
常用命令
make -d : 会显示debug信息便于调试
- make会把每一个命令都建一个subprocess。
-$(MKDIR) $(CONF_PATH)
->
E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe E:\Develop\Taego\BuildTools\Scripts\shell.py MKDIR E:\Develop\Taego\Build\Conf
CreateProcess(E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe,E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe E:\Develop\Taego\BuildTools\Scripts\shell.py NORMPATH E:\Develop\Taego\BuildTools\MSVC\14.37.32822/,...)
CreateProcess(E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe,E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe E:\Develop\Taego\BuildTools\Scripts\shell.py MKDIR E:\Develop\Taego\Build\Conf,...)
Putting child 02a85428 (folder-init) PID 44809944 on the chain.
Live child 02a85428 (folder-init) PID 44809944
A subdirectory or file E:\Develop\Taego\Build\Conf already exists.
Reaping winning child 02a85428 PID 44809944
- make 会把所有的target都扫描
file1:
folder-init ::
-$(MKDIR) $(CONF_PATH)
file2:
folder-init ::
-$(MKDIR) $(SMMSUPV_OUTPUT_DIRECTORY_ABS)
-$(MKDIR) $(SMMSUPERVISOR_BUILD_BINARY_PATH)
-$(MKDIR) $(SMMSUPERVISOR_BIN_EFI_PATH)
->会不断的retarget 直到搜完所有的makefile中的folder-init这个target
Considering target file 'folder-init'.
File 'folder-init' does not exist.
Finished prerequisites of target file 'folder-init'.
Target 'folder-init' is double-colon and has no prerequisites.
Must remake target 'folder-init'.
E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe E:\Develop\Taego\BuildTools\Scripts\shell.py MKDIR E:\Develop\Taego\Build\Conf
CreateProcess(E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe,E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe E:\Develop\Taego\BuildTools\Scripts\shell.py NORMPATH E:\Develop\Taego\BuildTools\MSVC\14.37.32822/,...)
CreateProcess(E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe,E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe E:\Develop\Taego\BuildTools\Scripts\shell.py MKDIR E:\Develop\Taego\Build\Conf,...)
Putting child 02a85428 (folder-init) PID 44809944 on the chain.
Live child 02a85428 (folder-init) PID 44809944
A subdirectory or file E:\Develop\Taego\Build\Conf already exists.
Reaping winning child 02a85428 PID 44809944
E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe E:\Develop\Taego\BuildTools\Scripts\shell.py MKDIR E:\Develop\Taego\Build\BoulderGulchBoardPkg_BOULDERGULCH_INTERNAL\DEBUG_VS2022
CreateProcess(E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe,E:\Develop\Taego\BuildTools\Python\3.11.6.S1\python.exe E:\Develop\Taego\BuildTools\Scripts\shell.py MKDIR E:\Develop\Taego\Build\BoulderGulchBoardPkg_BOULDERGULCH_INTERNAL\DEBUG_VS2022,...)
Live child 02a85428 (folder-init) PID 44809704
A subdirectory or file E:\Develop\Taego\Build\BoulderGulchBoardPkg_BOULDERGULCH_INTERNAL\DEBUG_VS2022 already exists.
Reaping winning child 02a85428 PID 44809704
Removing child 02a85428 PID 44809704 from chain.
Successfully remade target file 'folder-init'.
Considering target file 'folder-init'.
File 'folder-init' does not exist.
Finished prerequisites of target file 'folder-init'.
Target 'folder-init' is double-colon and has no prerequisites.
Must remake target 'folder-init'.
Successfully remade target file 'folder-init'.
Considering target file 'folder-init'.
File 'folder-init' does not exist.
Finished prerequisites of target file 'folder-init'.
Target 'folder-init' is double-colon and has no prerequisites.
Must remake target 'folder-init'.