| NULL= |
| BASEDIR=. |
| BINDIR=bin |
| OBJDIR=obj |
| KJSDIR=kjs |
| PCREDIR=pcre |
| |
| ICUDIR=$(BASEDIR)\..\..\icu |
| |
| # |
| # Define compiler flags |
| # |
| CC = cl.exe |
| CFLAGS = $(CFLAGS) /nologo |
| # 4996 - deprecated function, only needed for VS 2005 in which a lot |
| # of C standard functions that cause security risks (strcat, strcpy, |
| # printf etc.) were declared deprecated) |
| # 4138 - */ found outside of comment |
| # 4355 'this' : used in base member initializer list |
| CFLAGS = $(CFLAGS) /wd4138 /wd4996 /wd4355 |
| CFLAGS = $(CFLAGS) /D "HAVE_CONFIG_H" |
| CFLAGS = $(CFLAGS) /D "WIN32" /D "__STD_C" |
| CFLAGS = $(CFLAGS) /D "_MBCS" /D "_REENTRANT" /EHsc /W1 |
| CFLAGS = $(CFLAGS) /I$(BASEDIR)\os-win32 |
| CFLAGS = $(CFLAGS) /I$(BASEDIR)\pcre |
| CFLAGS = $(CFLAGS) /I$(KJSDIR) |
| CFLAGS = $(CFLAGS) /I$(ICUDIR)\include |
| |
| # /Zm increases max memory used by the compiler. It's for VC6 and compiling chartables.c |
| #CFLAGS = $(CFLAGS) /Zm300 |
| |
| !if "$(DEBUG)"=="1" |
| CFLAGS = $(CFLAGS) /MDd /Od /Zi |
| !else |
| CFLAGS = $(CFLAGS) /D "NDEBUG" /MD /Zi |
| !endif |
| |
| # |
| # Define linker flags |
| # |
| LD = link.exe |
| LDFLAGS = $(LDFLAGS) /nologo |
| LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(ICUDIR)\lib |
| #LIBS = $(LIBS) icuin.lib icudt.lib icuio.lib icuuc.lib |
| TESTKJS_LIBS = $(LIBS) jscore.lib |
| LIBS = $(LIBS) icuuc.lib |
| |
| !if "$(DEBUG)"=="1" |
| LDFLAGS = $(LDFLAGS) /DEBUG |
| !else |
| LDFLAGS = $(LDFLAGS) /OPT:NOWIN98 /DEBUG |
| !endif |
| |
| # |
| # Archiver flags |
| # |
| AR = lib.exe |
| ARFLAGS = $(ARFLAGS) /nologo |
| |
| PCRE_OBJS=\ |
| $(OBJDIR)\pcre.obj \ |
| $(NULL) |
| |
| # |
| # jscore.dll |
| # |
| JSCORE_DLL_OBJS=\ |
| $(OBJDIR)\array_object.obj \ |
| $(OBJDIR)\bool_object.obj \ |
| $(OBJDIR)\collector.obj \ |
| $(OBJDIR)\date_object.obj \ |
| $(OBJDIR)\debugger.obj \ |
| $(OBJDIR)\dtoa.obj \ |
| $(OBJDIR)\error_object.obj \ |
| $(OBJDIR)\fast_malloc.obj \ |
| $(OBJDIR)\fpconst.obj \ |
| $(OBJDIR)\function.obj \ |
| $(OBJDIR)\function_object.obj \ |
| $(OBJDIR)\grammar.obj \ |
| $(OBJDIR)\identifier.obj \ |
| $(OBJDIR)\internal.obj \ |
| $(OBJDIR)\interpreter.obj \ |
| $(OBJDIR)\interpreter_map.obj \ |
| $(OBJDIR)\lexer.obj \ |
| $(OBJDIR)\list.obj \ |
| $(OBJDIR)\lookup.obj \ |
| $(OBJDIR)\math_object.obj \ |
| $(OBJDIR)\nodes.obj \ |
| $(OBJDIR)\nodes2string.obj \ |
| $(OBJDIR)\number_object.obj \ |
| $(OBJDIR)\object.obj \ |
| $(OBJDIR)\object_object.obj \ |
| $(OBJDIR)\operations.obj \ |
| $(OBJDIR)\property_map.obj \ |
| $(OBJDIR)\property_slot.obj \ |
| $(OBJDIR)\protected_values.obj \ |
| $(OBJDIR)\reference.obj \ |
| $(OBJDIR)\reference_list.obj \ |
| $(OBJDIR)\regexp.obj \ |
| $(OBJDIR)\regexp_object.obj \ |
| $(OBJDIR)\scope_chain.obj \ |
| $(OBJDIR)\string_object.obj \ |
| $(OBJDIR)\ustring.obj \ |
| $(OBJDIR)\value.obj \ |
| $(NULL) |
| |
| JSCORE_DLL_NAME=jscore.dll |
| JSCORE_DLL_LIB_NAME=jscore.lib |
| |
| TESTKJS_OBJS=\ |
| $(OBJDIR)\testkjs.obj \ |
| $(NULL) |
| |
| TESTKJS_EXE_NAME=testkjs.exe |
| TESTKJS_PDB_NAME=testkjs.pdb |
| |
| #all: $(BINDIR)\$(JSCORE_DLL_NAME) |
| |
| all: $(BINDIR)\$(TESTKJS_EXE_NAME) |
| |
| clean: |
| if exist $(OBJDIR) rmdir /S /Q $(OBJDIR) |
| if exist $(BINDIR) rmdir /S /Q $(BINDIR) |
| |
| $(OBJDIR): |
| if not exist $(OBJDIR) mkdir $(OBJDIR) |
| |
| $(BINDIR): |
| if not exist $(BINDIR) mkdir $(BINDIR) |
| |
| # |
| # jscore DLL |
| # |
| $(BINDIR)\$(JSCORE_DLL_NAME) : $(BINDIR) $(PCRE_OBJS) $(JSCORE_DLL_OBJS) $(BASEDIR)\jscore.def |
| # $(LD) $(LDFLAGS) $(LIBS) /DLL /DEF:$(BASEDIR)\jscore.def \ |
| $(LD) $(LDFLAGS) $(LIBS) /DLL \ |
| $(PCRE_OBJS) $(JSCORE_DLL_OBJS) \ |
| /IMPLIB:$(BINDIR)\$(JSCORE_DLL_LIB_NAME) \ |
| /OUT:$(BINDIR)\$(JSCORE_DLL_NAME) |
| |
| $(BINDIR)\icuuc32.dll : |
| copy $(ICUDIR)\bin\icuuc34.dll $(BINDIR) |
| |
| $(BINDIR)\icudt32.dll : |
| copy $(ICUDIR)\bin\icudt34.dll $(BINDIR) |
| |
| $(BINDIR)\$(TESTKJS_EXE_NAME) : $(BINDIR) $(PCRE_OBJS) $(JSCORE_DLL_OBJS) $(TESTKJS_OBJS) \ |
| $(BINDIR)\icudt32.dll \ |
| $(BINDIR)\icuuc32.dll |
| $(LD) $(LDFLAGS) $(LIBS) \ |
| $(PCRE_OBJS) $(JSCORE_DLL_OBJS) \ |
| $(TESTKJS_OBJS) \ |
| /PDB:$(BINDIR)\$(TESTKJS_PDB_NAME) \ |
| /OUT:$(BINDIR)\$(TESTKJS_EXE_NAME) |
| |
| $(JSCORE_DLL_OBJS) : $(OBJDIR) |
| |
| {$(BASEDIR)\kjs}.cpp{$(OBJDIR)}.obj:: |
| $(CC) $(CFLAGS) /Fo$(OBJDIR)\ /c $< |
| |
| {$(BASEDIR)\pcre}.c{$(OBJDIR)}.obj:: |
| $(CC) $(CFLAGS) /Fo$(OBJDIR)\ /c /Tp $< |