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/ecp.o release/ecp.main.o

COBJECTS = \
	release/ecp.c 

SYMBOLS = \
	release/ecp.sym 

IMPORTS = \
	release/ecp.imp 

RESOURCES = \
	

all: release/ecp

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

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

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

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

# SYMBOL RULES

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

# C OBJECT RULES

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

# OBJECT RULES

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

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

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

