I have at the core a very simple program. A shell script that can run on either mac or ubuntu. I have the requirement to distribute it on both platforms (in the mac case, must be a .app), however, I must build it exclusively on Ubuntu.
I was looking in to what is a mac '.app', and it seems like it's just a unique directory structure with executable, metadata, etc. For example, here are Apple's docs on the matter which explains it.
It seems like the metadata, etc. can all be put together, however in the Contents/MacOS folder, this is where the executable (the app's entrypoint) goes. This is the part I am confused on. For example, is there a way to make my shell script as an 'executable'? Or does this need to be a proper binary file (like you would get by compiling a C program?). If it is the latter, is there a way to do this on a Linux machine? (Noting that, this shell script, or C script I could make it in to, is so simple - essentially a single if/else statement which calls another utility.)