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 -w -fPIC
OFLAGS = -L../lib/
LIBS = -lecere
OBJECTS = \
	release/ecc.o release/ecc.main.o

COBJECTS = \
	release/ecc.c 

SYMBOLS = \
	release/ecc.sym 

IMPORTS = \
	release/ecc.imp 

RESOURCES = \
	

all: release/ecc

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

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

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

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

# SYMBOL RULES

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

# C OBJECT RULES

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

# OBJECT RULES

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

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

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

