Updated rebar and build configuration for Windows
This commit is contained in:
@@ -1,8 +1,4 @@
|
|||||||
@echo off
|
@echo off
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
|
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 -*-
|
% -*- mode: erlang -*-
|
||||||
{erl_opts, [debug_info]}. %% required for dialyzer
|
{erl_opts, [debug_info]}. %% required for dialyzer
|
||||||
{port_envs, [{"DRV_LDFLAGS", "$DRV_LDFLAGS -lsqlite3"},
|
{port_envs, [{"^(?!.*win32)", "DRV_CFLAGS", "$DRV_CFLAGS -Wall -Wextra -Wno-unused-parameter"},
|
||||||
{"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}.
|
{cover_enabled, true}.
|
||||||
{eunit_opts, [verbose, {report,{eunit_surefire,[{dir,"."}]}}]}.
|
{eunit_opts, [verbose, {report,{eunit_surefire,[{dir,"."}]}}]}.
|
||||||
{dialyzer_opts, [{plt, "dialyzer/sqlite3.plt"}]}.
|
{dialyzer_opts, [{plt, "dialyzer/sqlite3.plt"}]}.
|
||||||
|
|||||||
Reference in New Issue
Block a user