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

COBJECTS = \
	release/ear.c 

SYMBOLS = \
	release/ear.sym 

IMPORTS = \
	release/ear.imp 

RESOURCES = \
	extract/release/extract 

all: release/ear

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

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

release/ear:  $(SYMBOLS) $(OBJECTS)
	$(CC) $(OFLAGS) $(OBJECTS) $(LIBS) -o release/ear
	strip release/ear
	cp release/ear ../bin/
	cd extract && $(MAKE)
	$(EAR) aw release/ear extract/release/extract ""
	cp release/ear ../bin/

# SYMBOL RULES

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

# C OBJECT RULES

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

# OBJECT RULES

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

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

clean:
	rm -f release/ear $(OBJECTS) $(IMPORTS) $(SYMBOLS) $(COBJECTS) release/ear.main.c release/ear.main.ec release/ear.main.imp release/ear.main.sym
	cd extract && $(MAKE) clean

