initial commit
This commit is contained in:
commit
b32fdffb93
31
.editorconfig
Normal file
31
.editorconfig
Normal file
@ -0,0 +1,31 @@
|
||||
root = true
|
||||
|
||||
[*.refactor]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[*.md]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[*.{h, c, hpp, cpp}]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
|
||||
[*.{ps1, psm1}]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
|
||||
[*.odin]
|
||||
indent_style = tab
|
||||
indent_size = 2
|
||||
charset = utf-8
|
||||
|
||||
[*.asm]
|
||||
indent_style = tab
|
||||
indent_size = 2
|
||||
charset = utf-8
|
||||
|
||||
[*.{natvis, natstepfilter}]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
build
|
2
code/forth.asm
Normal file
2
code/forth.asm
Normal file
@ -0,0 +1,2 @@
|
||||
; An introduction to forth based on jonesforth.S
|
||||
|
30
scripts/build.ps1
Normal file
30
scripts/build.ps1
Normal file
@ -0,0 +1,30 @@
|
||||
$devshell = Join-Path $PSScriptRoot 'helpers/devshell.ps1'
|
||||
& $devshell -arch amd64
|
||||
|
||||
$path_root = split-path -Path $PSScriptRoot -Parent
|
||||
$path_build = join-path $path_root 'build'
|
||||
$path_code = join-path $path_root 'code'
|
||||
|
||||
if ((test-path $path_build) -eq $false) {
|
||||
new-item -itemtype directory -path $path_build
|
||||
}
|
||||
|
||||
$masm = 'ml64'
|
||||
|
||||
$lib_kernel32 = 'kernel32.lib'
|
||||
|
||||
$flag_subsystem_console = '/subsystem:console'
|
||||
$flag_link = '/link'
|
||||
|
||||
|
||||
push-location $path_build
|
||||
$unit = join-path $path_code 'forth.asm'
|
||||
|
||||
$asm_args = @()
|
||||
$asm_args += $unit
|
||||
$asm_args += $flag_link
|
||||
$asm_args += $flag_subsystem_console
|
||||
$asm_args += $lib_kernel32
|
||||
|
||||
& $masm $asm_args
|
||||
pop-location
|
28
scripts/helpers/devshell.ps1
Normal file
28
scripts/helpers/devshell.ps1
Normal file
@ -0,0 +1,28 @@
|
||||
if ($env:VCINSTALLDIR) {
|
||||
return
|
||||
}
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
# Use vswhere to find the latest Visual Studio installation
|
||||
$vswhere_out = & "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath
|
||||
if ($null -eq $vswhere_out) {
|
||||
Write-Host "ERROR: Visual Studio installation not found"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Find Launch-VsDevShell.ps1 in the Visual Studio installation
|
||||
$vs_path = $vswhere_out
|
||||
$vs_devshell = Join-Path $vs_path "\Common7\Tools\Launch-VsDevShell.ps1"
|
||||
|
||||
if ( -not (Test-Path $vs_devshell) ) {
|
||||
Write-Host "ERROR: Launch-VsDevShell.ps1 not found in Visual Studio installation"
|
||||
Write-Host Tested path: $vs_devshell
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Launch the Visual Studio Developer Shell
|
||||
Push-Location
|
||||
write-host @args
|
||||
& $vs_devshell @args
|
||||
Pop-Location
|
7
scripts/run.ps1
Normal file
7
scripts/run.ps1
Normal file
@ -0,0 +1,7 @@
|
||||
$path_root = split-path -Path $PSScriptRoot -Parent
|
||||
$path_build = join-path $path_root 'build'
|
||||
|
||||
Push-Location $path_build
|
||||
$forth = join-path $path_build 'forth.exe'
|
||||
& $forth
|
||||
pop-location
|
Loading…
x
Reference in New Issue
Block a user