# 为 AMD64 处理器的Linux 系统编译可使用的动态库
OBJS = core/els_api.o core/els_codegen.o core/els_gc.o core/els_lex.o core/els_mem.o core/els_parser.o core/els_unit.o core/els_vmhost.o core/els.o core/els_func.o core/els_heap.o core/els_object.o core/els_string.o core/els_vmcore.o
LIB=core/inlib.o
REPL=repl/losu.o
TOOL=tool/tool.o

CFLAGS= -O2  -Wall -std=gnu99  -DLOSU_LINUX -I ./include -fPIC -DELS_CONF_CPU_ARCH=x86_64
CC=x86_64-linux-gnu-gcc
T=dist/core/linux-x86_64/libeasylosu.so
E=dist/core/linux-x86_64/losu
O=dist/core/linux-x86_64/losutool

all: $T $E $O
	rm  -f $(OBJS) $(REPL) $(LIB) $(TOOL)

$T:	$(OBJS) $(LIB) 
	$(CC) -o $@ $(OBJS) $(LIB)  -shared -lm -ldl -s 
$E: $(REPL)
	$(CC) -o $@ $(REPL)  -ldl  -L ./dist/linux-x86_64/ -leasylosu -s
$O:	$(TOOL)
	$(CC) -o $@ $(TOOL)  

clean:
	rm  -f $(OBJS) $(REPL) $(LIB) $(TOOL)


