# Project: fdlibm

ifeq ($(OS),Windows_NT) 
RM = del /Q /F
CP = copy /Y
ifdef ComSpec
SHELL := $(ComSpec)
endif
ifdef COMSPEC
SHELL := $(COMSPEC)
endif
else
RM = rm -rf
CP = cp -f
endif

CC = gcc.exe

JS_SRCDIR = js/src

JS_OBJECTS = \
    $(JS_SRCDIR)/jsapi.o \
    $(JS_SRCDIR)/jsarena.o \
    $(JS_SRCDIR)/jsarray.o \
    $(JS_SRCDIR)/jsatom.o \
    $(JS_SRCDIR)/jsbool.o \
    $(JS_SRCDIR)/jscntxt.o \
    $(JS_SRCDIR)/jsdate.o \
    $(JS_SRCDIR)/jsdbgapi.o \
    $(JS_SRCDIR)/jsdhash.o \
    $(JS_SRCDIR)/jsdtoa.o \
    $(JS_SRCDIR)/jsemit.o \
    $(JS_SRCDIR)/jsexn.o \
    $(JS_SRCDIR)/jsfun.o \
    $(JS_SRCDIR)/jsgc.o \
    $(JS_SRCDIR)/jshash.o \
    $(JS_SRCDIR)/jsiter.o \
    $(JS_SRCDIR)/jsinterp.o \
    $(JS_SRCDIR)/jslock.o \
    $(JS_SRCDIR)/jslog2.o \
    $(JS_SRCDIR)/jslong.o \
    $(JS_SRCDIR)/jsmath.o \
    $(JS_SRCDIR)/jsnum.o \
    $(JS_SRCDIR)/jsobj.o \
    $(JS_SRCDIR)/jsopcode.o \
    $(JS_SRCDIR)/jsparse.o \
    $(JS_SRCDIR)/jsprf.o \
    $(JS_SRCDIR)/jsregexp.o \
    $(JS_SRCDIR)/jsscan.o \
    $(JS_SRCDIR)/jsscope.o \
    $(JS_SRCDIR)/jsscript.o \
    $(JS_SRCDIR)/jsstr.o \
    $(JS_SRCDIR)/jsutil.o \
    $(JS_SRCDIR)/jsxml.o \
    $(JS_SRCDIR)/jsxdrapi.o \
    $(JS_SRCDIR)/prmjtime.o

CFLAGS =  -D_IEEE_LIBM -DEXPORT_JS_API -DWIN32 -D_MINGW -D_WINDOWS -DXP_WIN -s

all: js.lib

%.o: %.c js/src/jsautokw.h
	$(CC) -c $(CFLAGS) -o $@ $<

js/src/jsautokw.h:
ifeq ($(wildcard js),)
	$(error JS source directory not found. Extract $(wildcard js-*.tar.gz) tarball using tool of your choice. Possible options are 7z, WinRAR, WinZip.)
endif
	$(CC) -o jskwgen js/src/jskwgen.c
	jskwgen > js/src/jsautokw.h
	$(RM) jskwgen.exe
	
js.lib: $(JS_OBJECTS)
	ar r js.lib $(JS_OBJECTS)
	ranlib js.lib

clean:
	$(RM) js\src\*.o
	$(RM) js\src\jsautokw.h
	$(RM) *.lib
