# 为 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_WINDOWS -I ./include -fPIC -DELS_CONF_CPU_ARCH=x86_64
CC=x86_64-w64-mingw32-gcc
T=dist/core/windows-x86_64/libeasylosu.dll
E=dist/core/windows-x86_64/losu.exe
O=dist/core/windows-x86_64/losutool.exe

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

$T:	$(OBJS) $(LIB)
	$(CC) -o $@ $(OBJS) $(LIB)  -shared -lm -static
$E: $(REPL)
	$(CC) -o $@ $(REPL)  repl/logo.o   -L ./dist/core/windows-x86_64/ -l:libeasylosu.dll
$O:	$(TOOL)
	$(CC) -o $@ $(TOOL)  -lurlmon -luser32 -lkernel32 -lwininet 


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