export LD_LIBRARY_PATH = ../lib/
CC = gcc
ECP = ../bootstrap/bin/ecp
ECC = ../bootstrap/bin/ecc
ECS = ../bootstrap/bin/ecs 
ECFLAGS = 
CFLAGS = -fmessage-length=0 -O2 -ffast-math -fvisibility=hidden -e -fPIC
OFLAGS = -L../lib/
LIBS = -lecere
OBJECTS = \
	release/ecs.o release/ecs.main.o

COBJECTS = \
	release/ecs.c 

SYMBOLS = \
	release/ecs.sym 

IMPORTS = \
	release/ecs.imp 

RESOURCES = \
	

all: release/ecs

release/ecs.main.ec: $(SYMBOLS) $(COBJECTS)
	$(ECS) -console $(SYMBOLS) $(IMPORTS) -symbols release -o release/ecs.main.ec

release/ecs.main.c: release/ecs.main.ec
	$(ECP) $(ECFLAGS) $(CFLAGS) -c release/ecs.main.ec -o release/ecs.main.sym -symbols release

	$(ECC) $(ECFLAGS) $(CFLAGS) -c release/ecs.main.ec -o release/ecs.main.c -symbols release

release/ecs:  $(SYMBOLS) $(OBJECTS) $(RESOURCES)
	$(CC) $(OFLAGS) $(OBJECTS) $(LIBS) -o release/ecs
	strip release/ecs
	cp release/ecs ../bin/

# SYMBOL RULES

release/ecs.sym: ecs.ec
	$(ECP) $(ECFLAGS) $(CFLAGS) -c ecs.ec -o release/ecs.sym

# C OBJECT RULES

release/ecs.c: ecs.ec release/ecs.sym | $(SYMBOLS)
	$(ECC) $(ECFLAGS) $(CFLAGS) -c ecs.ec -o release/ecs.c -symbols release

# OBJECT RULES

release/ecs.o: release/ecs.c
	$(CC) $(CFLAGS) -c release/ecs.c -o release/ecs.o

release/ecs.main.o: release/ecs.main.c
	$(CC) $(CFLAGS) -c release/ecs.main.c -o release/ecs.main.o

clean:
	rm -f release/ecs $(OBJECTS) $(IMPORTS) $(SYMBOLS) $(COBJECTS) release/ecs.main.c release/ecs.main.ec release/ecs.main.imp release/ecs.main.sym

