LANG=de

CC=lcc.exe
LD=lcclnk.exe
RC=lrc.exe

CFLAGS=-A -DCONSOLE -DLANG=$(LANG) -DPROFILE_$(PROFILE)
LDFLAGS=-s -subsystem console


BINARY=	billard.exe

OBJS=	main.obj globals.obj init.obj frame.obj \
	physics.obj game.obj \
	ball.obj view.obj table.obj tex.obj \
	text.obj

LIBS=	opengl32.lib glu32.lib glut32.lib

RES=	icon.res


all:	$(BINARY)

$(BINARY):	$(OBJS)
	$(LD) $(LDFLAGS) -o $(BINARY) $(OBJS) $(LIBS) $(RES)

test:	$(BINARY)
	$(BINARY)

async-test: $(BINARY)
	start $(BINARY)

release:	clean $(BINARY)
	upx -v9 $(BINARY)

.c.obj:
	$(CC) $(CFLAGS) $(RFLAGS) -c $*.c

icon.res:
	$(RC) icon.rc

all-release:
	make RFLAGS=-DRELEASE clean release
	del billard-windowed.exe
	ren $(BINARY) billard-windowed.exe
	make PROFILE=low RFLAGS=-DRELEASE clean release
	del billard-low.exe
	ren $(BINARY) billard-low.exe
	make PROFILE=standard RFLAGS=-DRELEASE clean release
	del billard-standard.exe
	ren $(BINARY) billard-standard.exe
	make PROFILE=ultra RFLAGS=-DRELEASE clean release
	del billard-ultra.exe
	ren $(BINARY) billard-ultra.exe
	make clean

clean:
	del *.obj
	del $(BINARY)

distclean:	clean
	del *.exe

mrproper:	distclean
	del $(RES)
