Trouble with BMK

BlitzMax Forums/BlitzMax Beginners Area/Trouble with BMK

Emmett(Posted 2010) [#1]
I am in the Terminal trying to bmk makeapp -r myapp.bmx
I keep getting -bash: bmk: command not found

I did an ls on bin and get:
bcc bmk docmods fasm2as makedocs

Does my application have to be moved into the bin directory?
Does bmk have to be moved into my application folder?

Thanks


Brucey(Posted 2010) [#2]
add a dot-slash prefix to the executable :
./bmk makeapp -r myapp.bmx


The reason is that your bin folder is not on the PATH. And by default *nix does not search the local folder for executables. This can be fixed by either adding your folder to the PATH or adding dot (.) to the PATH.
dot represents the current directory...


Emmett(Posted 2010) [#3]
Alright Thanks Brucey.
Just in case anyone else has this issue here is the procedure I used to makeapp from the terminal.
The following makes a Terminal Required application.
First, in the Teriminal I typed:
./bmk makeapp -r
Then, I dragged myapp.bmx from its folder and dropped it into the Terminal window.
Terminal filled in the rest of the command line after the -r:
./bmk makeapp -r /BlitzMax/myapp/myapp.bmx
Pressed the return key and 5 seconds later I got my application ready to roll.

./bmk makeapp -r -t gui
Then dragNdrop myapp.bmx onto the terminal window and then hit return to create a Non Terminal Required application.


Emmett(Posted 2010) [#4]
this post merged with above post


Brucey(Posted 2010) [#5]
Here's some quick help as output by my custom BMK :
Bruceys-Mac-Mini:bin brucey$ ./bmk
Command line error : Not enough parameters

Usage: bmk <operation> [options] source

Operations :
	makeapp
		Builds an application from a single root source file.

	makemods
		Builds a set of modules.

Options :
	-a
		Recompile all source/modules regardless of timestamp. By default, only those modified
		since the last build are recompiled.

	-b <custom appstub module>
		Builds an app using a custom appstub (i.e. not BRL.Appstub).
		This can be useful when you want more control over low-level application state.

	-d
		Builds a debug version. (This is the default for makeapp).

	-h
		Build multithreaded version. (By default, the single threaded version is built.)

	-o <output file>
		Specify output file. (makeapp only)
		By default, the output file is placed into the same directory as the root source file.

	-q
		Quiet build.

	-r
		Builds a release version.

	-t <app type>
		Specify application type. (makeapp only)
		Should be either 'console' or 'gui' (without single quote!).
		The default is console.

	-v
		Verbose (noisy) build.

	-x
		Execute built application. (makeapp only)


I've removed the -i and -l options from the list above as those are particular to my version (for doing cross-compiling and Universal builds)

Note that you can use "-t gui" option to create the bundle automatically.
Also, in your example above, you really should include an Info.plist in the contents folder.


Emmett(Posted 2010) [#6]
Brucey Said: "Also, in your example above, you really should include an Info.plist in the contents folder."
Hmmm, an appname-Info.plist I have not done before.
I studied up and created one however I have doubts that it is 100% correct.

Would you be so kind and list those typical Keys/Values that you use for a BlitzMax Game Program.
There are so many to choose from.
I used the following keys and values.
Key: Localization native development region Value: en-US
Key: Executable file Value: BlitzMax
Key: Bundle OS Type code Value: APPL
Key: Bundle version Key: 1.0
Key: Principal class Value: NSApplication
I am not sure any of the Keys/Values are needed or correct.
Further, there may be Keys/Values I should be using that I left out.

Would greatly appreciate feedback on this.
Thanks


Hardcoal(Posted 2012) [#7]
I Just Learnt how to use BMK for external compiling source.

This is the most simple way I found to describe it for begginers

If you want to compile Externaly (not from an editor) then access Bmk.exe file at Bin folder in blitzmax folder (you must run it from there in order for it to work)

type on Windows CMD line (or window)...

BMK MakeApp "AppLocationAndName.bmx"

The output EXE will come out at the same location of the source BMX file

Last edited 2012