tgrysztar / fasmg

flat assembler g - adaptable assembly engine
https://flatassembler.net/
216 stars 29 forks source link

fix path to fasmg or bad include for make.cmd and examples ? #1

Open catafest opened 5 years ago

catafest commented 5 years ago

I think is a bug area of put fasmg on path and fix examples with set include folder I suppose is need to add the fasmg on windows path and this let the set command to include the folder include. I think is more good to set the path for examples to work with fasmg executable and not to add fasmg to windows path. In this case the make.cmd come show this error:

C:\fasmg-master\core\examples\x86>fasmg win64avx.asm win64avx.exe

'fasmg' is not recognized as an internal or external command,
operable program or batch file.

The examples come with this include path and cannot access the real path fasmg-master\core\examples\x86\include\format, see:

include 'format\format.inc'   
ScriptTiger commented 2 years ago

There is no bug here. The fasmg.exe should be added to your environmental PATH variable. PATH is for executables/executable code (.exe, .dll, .com, .cmd, .bat, etc.) and INCLUDE is for includes (.inc), they are both independent from each other but work in a similar way for their intended file types, using the semicolon (;) to separate multiple entries. When the make.cmd is executed, it should find fasmg.exe from your PATH. make.cmd sets a single relative path of INCLUDE to include, which is the relative path to the include directory , which should be directly within your current working directory. The make.cmd cannot provide a full path since it's impossible to know what directory everyone will want to put their fasmg directory inside of.

The only reason the make.cmd will not be able to find the include directory is if you are trying to execute the make.cmd from a different working directory, such as opening a command prompt and leaving the working directory as the default C:\Users\catafest or something similar and not first changing the working directory (CD) to the make.cmd root directory, instead of the intended working directory which the make.cmd is directly inside of.

All you need to do is add fasmg.exe to your PATH variable and double-click make.cmd and it will work flawlessly. If you don't like how that works, that's your personal preference and you are free to rewrite all the batch files to your liking. Saying your personal preference is "more good" is highly subjective.