CC = gcc -O2 -s

all:
	@echo Please specify target:
	@echo
	@echo make ansic ..... Any OS, stdout output
	@echo make unix-oss .. Include support for OSS or compatible sound device
	@echo make x86linux .. Build a compact binary for Linux/i386

ansic:

	$(CC) trollen.c -o trollen

unix-oss:

	$(CC) -DUNIX -DOSSDSP trollen.c -o trollen

x86linux:

	gcc -pipe -Os -m386 -fomit-frame-pointer \
	-malign-functions=0 -malign-jumps=0 -malign-loops=0 \
	-DX86LINUX -DUNIX -DOSSDSP -DCLEANCRUNCH \
	-S trollen.c -o trollen.s

	gcc -Os -s -nostdlib -nostartfiles -static trollen.s -o S

	objcopy --remove-section .comment S
	objcopy --remove-section .note S
	objcopy --remove-section .sbss S

	cp S S.orig

	rm -f S.gz
	gzip -9 S
	echo '#' > trollen
	echo 'dd skip=1 ibs=49<$$0|zcat>S;chmod +x S;exec ./S' >> trollen
	cat S.gz >> trollen

	chmod 777 trollen
