Use implicit mkdir.
This commit is contained in:
@ -15,7 +15,6 @@
|
|||||||
ESP32_FILES = []
|
ESP32_FILES = []
|
||||||
|
|
||||||
# Main .ino file.
|
# Main .ino file.
|
||||||
Mkdir('esp32/ESP32forth')
|
|
||||||
ESP32_FILES += [
|
ESP32_FILES += [
|
||||||
Importation('esp32/ESP32forth/README.txt',
|
Importation('esp32/ESP32forth/README.txt',
|
||||||
'$src/esp32/README.txt'),
|
'$src/esp32/README.txt'),
|
||||||
@ -26,7 +25,6 @@ ESP32_FILES += [
|
|||||||
Importation('gen/esp32_boot.h', '$src/esp32/esp32_boot.fs', name='boot')
|
Importation('gen/esp32_boot.h', '$src/esp32/esp32_boot.fs', name='boot')
|
||||||
|
|
||||||
# Optional Compontents.
|
# Optional Compontents.
|
||||||
Mkdir('esp32/ESP32forth/optional')
|
|
||||||
ESP32_FILES += [
|
ESP32_FILES += [
|
||||||
Importation('esp32/ESP32forth/optional/README-optional.txt',
|
Importation('esp32/ESP32forth/optional/README-optional.txt',
|
||||||
'$src/esp32/optional/README-optional.txt'),
|
'$src/esp32/optional/README-optional.txt'),
|
||||||
@ -48,7 +46,6 @@ ESP32_FILES += [
|
|||||||
]
|
]
|
||||||
|
|
||||||
# Simulator.
|
# Simulator.
|
||||||
Mkdir('esp32-sim')
|
|
||||||
ESP32_FILES += [
|
ESP32_FILES += [
|
||||||
Compile('esp32-sim/esp32-sim', '$src/esp32/sim_main.cpp',
|
Compile('esp32-sim/esp32-sim', '$src/esp32/sim_main.cpp',
|
||||||
implicit=['gen/esp32_boot.h', 'gen/esp32_sim_opcodes.h'])
|
implicit=['gen/esp32_boot.h', 'gen/esp32_sim_opcodes.h'])
|
||||||
|
|||||||
@ -150,10 +150,6 @@ WIN_CFLAGS = {' '.join(WIN_CFLAGS)}
|
|||||||
WIN_LFLAGS32 = {' '.join(WIN_LFLAGS32)}
|
WIN_LFLAGS32 = {' '.join(WIN_LFLAGS32)}
|
||||||
WIN_LFLAGS64 = {' '.join(WIN_LFLAGS64)}
|
WIN_LFLAGS64 = {' '.join(WIN_LFLAGS64)}
|
||||||
|
|
||||||
rule mkdir
|
|
||||||
description = mkdir
|
|
||||||
command = mkdir -p $out
|
|
||||||
|
|
||||||
rule importation
|
rule importation
|
||||||
description = importation
|
description = importation
|
||||||
depfile = $out.d
|
depfile = $out.d
|
||||||
@ -169,28 +165,28 @@ rule compile
|
|||||||
rule compile_win32
|
rule compile_win32
|
||||||
description = WIN_CL32
|
description = WIN_CL32
|
||||||
deps = msvc
|
deps = msvc
|
||||||
command = $WIN_CL32 /showIncludes /nologo /c /Fo$out $WIN_CFLAGS $in
|
command = $WIN_CL32 /showIncludes /nologo /c /Fo$out $WIN_CFLAGS $in && touch $out
|
||||||
|
|
||||||
rule compile_win64
|
rule compile_win64
|
||||||
description = WIN_CL64
|
description = WIN_CL64
|
||||||
deps = msvc
|
deps = msvc
|
||||||
command = $WIN_CL64 /showIncludes /nologo /c /Fo$out $WIN_CFLAGS $in >/dev/null
|
command = $WIN_CL64 /showIncludes /nologo /c /Fo$out $WIN_CFLAGS $in && touch $out
|
||||||
|
|
||||||
rule link_win32
|
rule link_win32
|
||||||
description = WIN_LINK32
|
description = WIN_LINK32
|
||||||
command = $WIN_LINK32 /nologo /OUT:$out $WIN_LFLAGS32 $in && chmod a+x $out
|
command = $WIN_LINK32 /nologo /OUT:$out $WIN_LFLAGS32 $in && touch $out && chmod a+x $out
|
||||||
|
|
||||||
rule link_win64
|
rule link_win64
|
||||||
description = WIN_LINK64
|
description = WIN_LINK64
|
||||||
command = $WIN_LINK64 /nologo /OUT:$out $WIN_LFLAGS64 $in && chmod a+x $out
|
command = $WIN_LINK64 /nologo /OUT:$out $WIN_LFLAGS64 $in && touch $out && chmod a+x $out
|
||||||
|
|
||||||
rule rc_win32
|
rule rc_win32
|
||||||
description = WIN_RC32
|
description = WIN_RC32
|
||||||
command = $WIN_RC32 /nologo /i $src /fo $out $in
|
command = $WIN_RC32 /nologo /i $src /fo $out $in && touch $out
|
||||||
|
|
||||||
rule rc_win64
|
rule rc_win64
|
||||||
description = WIN_RC64
|
description = WIN_RC64
|
||||||
command = $WIN_RC64 /nologo /i $src /fo $out $in
|
command = $WIN_RC64 /nologo /i $src /fo $out $in && touch $out
|
||||||
|
|
||||||
rule run
|
rule run
|
||||||
description = RUN
|
description = RUN
|
||||||
@ -204,16 +200,9 @@ rule convert_image
|
|||||||
description = IMAGE_CONVERT
|
description = IMAGE_CONVERT
|
||||||
command = convert $in $out
|
command = convert $in $out
|
||||||
|
|
||||||
build gen: mkdir
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def Mkdir(path):
|
|
||||||
global output
|
|
||||||
output += 'build ' + path + ': mkdir\n'
|
|
||||||
|
|
||||||
|
|
||||||
def Importation(target, source, header_mode='cpp', name=None, keep=False, deps=None, implicit=[]):
|
def Importation(target, source, header_mode='cpp', name=None, keep=False, deps=None, implicit=[]):
|
||||||
global output
|
global output
|
||||||
options = ''
|
options = ''
|
||||||
@ -221,9 +210,8 @@ def Importation(target, source, header_mode='cpp', name=None, keep=False, deps=N
|
|||||||
options += '--keep-first-comment'
|
options += '--keep-first-comment'
|
||||||
if name:
|
if name:
|
||||||
options += ' --name ' + name + ' --header ' + header_mode
|
options += ' --name ' + name + ' --header ' + header_mode
|
||||||
outdir = os.path.dirname(target)
|
|
||||||
implicit = ' '.join(implicit)
|
implicit = ' '.join(implicit)
|
||||||
output += f'build {target}: importation {source} | {outdir} {implicit}\n'
|
output += f'build {target}: importation {source} | {implicit}\n'
|
||||||
if options:
|
if options:
|
||||||
output += f' options = {options}\n'
|
output += f' options = {options}\n'
|
||||||
if deps:
|
if deps:
|
||||||
@ -232,23 +220,21 @@ def Importation(target, source, header_mode='cpp', name=None, keep=False, deps=N
|
|||||||
|
|
||||||
|
|
||||||
def Esp32Optional(main_name, main_source, parts):
|
def Esp32Optional(main_name, main_source, parts):
|
||||||
|
parts = []
|
||||||
for name, source in parts:
|
for name, source in parts:
|
||||||
Importation('gen/esp32_' + name + '.h',
|
parts.append(Importation('gen/esp32_' + name + '.h',
|
||||||
source, name=name.replace('-', '_') + '_source')
|
source, name=name.replace('-', '_') + '_source'))
|
||||||
if not main_source:
|
|
||||||
main_source = 'gen/esp32_' + main_name + '.h'
|
|
||||||
return Importation('esp32/ESP32forth/optional/' + main_name + '.h',
|
return Importation('esp32/ESP32forth/optional/' + main_name + '.h',
|
||||||
main_source,
|
main_source,
|
||||||
keep=True,
|
keep=True,
|
||||||
deps='gen/esp32_optional_' + main_name + '.h.d',
|
deps='gen/esp32_optional_' + main_name + '.h.d',
|
||||||
implicit=['gen/esp32_' + i + '.h' for i, _ in parts])
|
implicit=parts)
|
||||||
|
|
||||||
|
|
||||||
def Simple(op, target, source, implicit=[]):
|
def Simple(op, target, source, implicit=[]):
|
||||||
global output
|
global output
|
||||||
outdir = os.path.dirname(target)
|
|
||||||
implicit = ' '.join(implicit)
|
implicit = ' '.join(implicit)
|
||||||
output += f'build {target}: {op} {source} | {outdir} {implicit}\n'
|
output += f'build {target}: {op} {source} | {implicit}\n'
|
||||||
return target
|
return target
|
||||||
|
|
||||||
|
|
||||||
@ -308,7 +294,6 @@ def Default(target):
|
|||||||
|
|
||||||
|
|
||||||
def Include(path):
|
def Include(path):
|
||||||
Mkdir(path)
|
|
||||||
path = os.path.join(ROOT_DIR, path, 'BUILD')
|
path = os.path.join(ROOT_DIR, path, 'BUILD')
|
||||||
data = open(path).read()
|
data = open(path).read()
|
||||||
exec(data)
|
exec(data)
|
||||||
|
|||||||
@ -33,7 +33,6 @@ LinkW64('windows/uEf64.exe',
|
|||||||
' '.join(['windows/uEf64.obj', 'resources/ueforth_res64.res']))
|
' '.join(['windows/uEf64.obj', 'resources/ueforth_res64.res']))
|
||||||
|
|
||||||
# Create icon.
|
# Create icon.
|
||||||
Mkdir('resources')
|
|
||||||
ICON_SIZES = [
|
ICON_SIZES = [
|
||||||
ResizeImage('resources/eforth16x16.png', '$src/images/eforth.png', '16x16'),
|
ResizeImage('resources/eforth16x16.png', '$src/images/eforth.png', '16x16'),
|
||||||
ResizeImage('resources/eforth32x32.png', '$src/images/eforth.png', '32x32'),
|
ResizeImage('resources/eforth32x32.png', '$src/images/eforth.png', '32x32'),
|
||||||
|
|||||||
Reference in New Issue
Block a user