Updated rebar and build configuration for Windows
This commit is contained in:
@@ -1,8 +1,4 @@
|
||||
@echo off
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
|
||||
set ERL_ROOT="F:\ProgLangs\erl"
|
||||
set ERL_INTERFACE="%ERL_ROOT%\lib\erl_interface-3.7.2"
|
||||
set ERTS="%ERL_ROOT%\erts-5.8.2"
|
||||
set SQLITE_SRC="F:\MyProgramming\sqlite-amalgamation"
|
||||
|
||||
cl /W4 /wd4100 /wd4204 /I%ERL_INTERFACE%/include /I%ERTS%/include /I%SQLITE_SRC% /Ic_src c_src/*.c /link /dll %ERL_INTERFACE%\lib\ei.lib %SQLITE_SRC%\sqlite3.lib /out:priv\sqlite3_drv.dll
|
||||
nmake /f msvc.mk compile_c
|
||||
37
msvc.mk
Normal file
37
msvc.mk
Normal file
@@ -0,0 +1,37 @@
|
||||
REBAR=rebar
|
||||
REBAR_COMPILE=$(REBAR) get-deps compile
|
||||
PLT=dialyzer\sqlite3.plt
|
||||
ERL_INTERFACE=$(ERL_ROOT)\lib\erl_interface-3.7.2
|
||||
ERTS=$(ERL_ROOT)\erts-5.8.2
|
||||
SQLITE_SRC=F:\MyProgramming\sqlite-amalgamation
|
||||
|
||||
all: compile
|
||||
|
||||
compile: compile_c src\*
|
||||
erlc -I include -o ebin src\*.erl
|
||||
|
||||
# while rebar doesn't support Windows ports
|
||||
compile_c: c_src\*
|
||||
cl /W4 /wd4100 /wd4204 /I$(ERL_INTERFACE)/include /I$(ERTS)/include /I$(SQLITE_SRC) /Ic_src c_src/*.c /link /dll /LIBPATH:$(ERL_INTERFACE)\lib ei.lib $(SQLITE_SRC)\sqlite3.lib /out:priv\sqlite3_drv.dll
|
||||
|
||||
test: compile_c test\*
|
||||
erlc -DTEST=true -I include -o .eunit src\*.erl test\*.erl
|
||||
$(REBAR) eunit
|
||||
|
||||
clean:
|
||||
-rm -rf deps ebin priv doc\* .eunit c_src\*.o
|
||||
|
||||
docs: compile
|
||||
$(REBAR) doc
|
||||
|
||||
# static: compile
|
||||
# ifeq ($(wildcard $(PLT)),)
|
||||
# dialyzer --build_plt --apps kernel stdlib erts --output_plt $(PLT)
|
||||
# else
|
||||
# dialyzer --plt $(PLT) -r ebin
|
||||
# endif
|
||||
|
||||
cross_compile: clean
|
||||
$(REBAR_COMPILE) -C rebar.cross_compile.config
|
||||
|
||||
.PHONY: all compile test clean docs static
|
||||
@@ -1,7 +1,10 @@
|
||||
% -*- mode: erlang -*-
|
||||
{erl_opts, [debug_info]}. %% required for dialyzer
|
||||
{port_envs, [{"DRV_LDFLAGS", "$DRV_LDFLAGS -lsqlite3"},
|
||||
{"DRV_CFLAGS", "$DRV_CFLAGS -Wall -Wextra -Wno-unused-parameter"}]}.
|
||||
{port_envs, [{"^(?!.*win32)", "DRV_CFLAGS", "$DRV_CFLAGS -Wall -Wextra -Wno-unused-parameter"},
|
||||
{"^(?!.*win32)", "DRV_LDFLAGS", "$DRV_LDFLAGS -lsqlite3"},
|
||||
{"win32", "CFLAGS", "/IF:/MyProgramming/sqlite-amalgamation /Ic_src"},
|
||||
%% {"win32", "CFLAGS", "/IF:/MyProgramming/sqlite-amalgamation /Ic_src /W4 /wd4100 /wd4204"},
|
||||
{"win32", "LDFLAGS", "sqlite3.lib"}]}.
|
||||
{cover_enabled, true}.
|
||||
{eunit_opts, [verbose, {report,{eunit_surefire,[{dir,"."}]}}]}.
|
||||
{dialyzer_opts, [{plt, "dialyzer/sqlite3.plt"}]}.
|
||||
|
||||
Reference in New Issue
Block a user