[Linux] makelove - automatically pack .love or .exe's

Showcase your libraries, tools and other projects that help your fellow love users.
Post Reply
User avatar
Franc[e]sco
Prole
Posts: 19
Joined: Sun May 08, 2011 9:09 am

[Linux] makelove - automatically pack .love or .exe's

Post by Franc[e]sco »

makelove for LÖVE 0.7.2

Heya, I discovered this awesome engine today and since lua is my favorite language I started messing around with it. I don't have any game to release yet, but I thought this would be useful for linux/unix users :D.

makelove is basically a simple bash script to pack your games into a .love or a windows executable (zipped with all the dll's). I haven't added linux executables because for some reason appending /usr/bin/love and the .love is not working :/.
Oh, it also ignores backup files automatically :D.

---> Download <---

How to install it:
- download makelove.zip to your home directory (~)
- open a shell window and type the following (it will extract a hidden folder named .makelove so don't worry if you don't see anything after the unzip):

Code: Select all

cd ~
unzip makelove.zip
sudo chmod +x .makelove/makelove.sh
nano ~/.bashrc
- now that you have your .bashrc open in nano, add this line to it:

Code: Select all

alias makelove='~/.makelove/makelove.sh'
- press ctrl + o and then press enter to save
- press ctrl + x to exit nano
- done!

How to use it:
- in a shell window, cd inside your game folder (same directory as your main.lua)
- if you want to make a .love file, type "makelove -l mygame", otherwise type "makelove -e mygame"

I hope you like it ^^ and now back to my object oriented engine :3

Oh, and just in case you need it here's the (crappy) source of my (crappy) script:

Code: Select all

case $1 in
	-h)
		echo -e "makelove usage:\n\t-h : get help.\n\t-l <filename (no extension!)> : pack current directory in a .love file\n\t-e <filename (no extension!)> : pack current directory in a Windows Executable (.exe) and create a zip with the exe and all the required dlls."
	;;

	-l)
		if [ "$2" != "" ]; then
			echo "makelove -l: zipping folder to $2.love..."
			zip -r $2.love * -x\*~
			echo "makelove -l: done!"
		else
			echo "makelove -l: No file name specified!"
		fi
	;;

	-e)
		if [ "$2" != "" ]; then
			echo "makelove -e: zipping folder..."
			zip -r $2_tmp.love * -x\*~
			echo "makelove -e: appending data to love.exe..."
			cat ~/.makelove/love.exe $2_tmp.love > $2.exe
			echo "makelove -e: deleting tmp file..."
			rm $2_tmp.love
			echo "makelove -e: copying required dlls..."
			cp ~/.makelove/DevIL.dll ~/.makelove/OpenAL32.dll ~/.makelove/SDL.dll .
			echo "makelove -e: zipping everything..."
			zip $2.zip $2.exe DevIL.dll OpenAL32.dll SDL.dll
			echo "makelove -e: deleting tmp dlls..."
			rm $2.exe DevIL.dll OpenAL32.dll SDL.dll
			echo "makelove -e: done!"
		else
			echo "makelove -e: No file name specified!"
		fi
	;;

	*)
		echo "makelove: invalid parameter, type makelove -h for help."
	;;
esac
Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 31 guests