-
-
Notifications
You must be signed in to change notification settings - Fork 9
Command Line Usage
To invoke adept from the command line, you can use the following:
adept [filename] [options]
-
The filename parameter is optional and will default to
main.adept
if it exists. -
The options parameter is optional and will default to nothing. You can use one or more of the following options for it.
Shows help on adept usage and parameters.
Shows advanced help on adept usage and parameters.
Redirects the output filename relative to the target file. The proper output extension is optional and will be supplied by the compiler if omitted.
-n <output>[.extension]
adept main.adept -n result
adept main.adept -n result.exe
See -o
for redirecting output relative to working directory
See pragma project_name
for equivalent pragma directive
Redirects the output filename relative to the current working directory. The proper output extension is optional and will be supplied by the compiler if omitted.
-o <output>[.extension]
adept main.adept -o result
adept main.adept -o result.exe
Compiles to object file.
adept -c main.adept
Executes the resulting executable after compilation has finished.
adept main.adept -e
Creates a compressed version of a file. The generated .dep file will be slightly faster to load.
adept main.adept -p
This feature may be removed in the future.
See pragma package
for equivalent pragma directive
Disables all compiler warnings.
adept main.adept -w
Preserves the generated object file.
adept main.adept -j
Sets the target optimization level.
-O<level>
adept main.adept -O0
adept main.adept -O1
adept main.adept -O2
adept main.adept -O3
Levels range from 0 being no optimizations, to 3 being aggressive optimizations.
See pragma optimization
for equivalent pragma directive
Prints compiler version information
Disables all runtime type information.
adept main.adept --no-typeinfo
See runtime type information for more information
See pragma no_typeinfo
for equivalent pragma directive
Forces initialization of all undef values to standard default values.
adept main.adept --no-undef
See pragma no_undef
for equivalent pragma directive
Disables the requirement for transcendent variables to be defined before being used.
adept main.adept --unsafe-meta
See pragma unsafe_meta
for equivalent pragma directive
Disables the automatic zero-initialization of memory allocated with new
.
adept main.adept --unsafe-new
See pragma unsafe_new
for equivalent pragma directive
Enables runtime null pointer checks.
adept main.adept --null-checks
Whenever a null pointer is dereferenced, used, or accessed, a runtime error will be triggered.
See pragma null_checks
for equivalent pragma directive
Enables typically insignificant warnings
adept --fussy
Sets the entry point of the program
--entry <function name>
adept --entry myFunction main.adept
See pragma entry_point
for equivalent pragma directive
Forces PIC relocation model.
adept main.adept --PIC
Forbids PIC relocation model.
adept main.adept --no-PIC
Forces linking against the libc math library.
adept main.adept --libm
This is equivalent to -lm when linking on linux.
See pragma libm
for equivalent pragma directive
Ignores specific compiler errors and warnings.
adept main.adept --ignore-all # Enables all ignore options
adept main.adept --ignore-deprecation # Ignore deprecation warnings
adept main.adept --ignore-early-return # Ignore statements after 'return' warning
adept main.adept --ignore-obsolete # Ignore warnings from using obsolete features
adept main.adept --ignore-partial-support # Ignore partial compiler support warning
adept main.adept --ignore-unrecognized-directives # Ignore "bad" pragma directives
adept main.adept --ignore-unused # Ignore used variables
See pragma ignore_*
for equivalent pragma directives
Adds a directory to import search path. Whenever files are imported afterwards, this directory will be searched.
-I<PATH>
adept -I"~/common_adept_files/"
See import search path for more information.
See pragma search_path
for equivalent pragma directive
Add directory to native library search path.
-L<PATH>
adept -L"~/lib/"
Links against native library.
-l<NAME>
adept -lhello
This is equivalent to doing the following inside a source file:
foreign "hello" library
Sets the standard library folder
--std=<folder inside global import folder>
adept --std=2.3
See pragma default_stdlib
for similar pragma directive
Don't open console with executable (only applies to Windows)
adept --windowed
Turns all warnings into errors
adept -Werror
Disables code fragments for warnings
adept --short-warnings
See pragma short_warnings
for equivalent pragma directive
Cross compile to Windows (Requires cross-compilation extension, only available for MacOS to Windows)
adept --windows
Cross compile to MacOS (Only results in object file, linking must be done manually)
adept --macos