diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 0000000..4deab9f --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,30 @@ +REBAR=./rebar +REBAR_COMPILE=$(REBAR) get-deps compile +PLT=dialyzer/sqlite3.plt + +all: compile + +compile: + $(REBAR_COMPILE) + +test: + $(REBAR_COMPILE) eunit + +clean: + -rm -rf deps ebin priv doc/* .eunit c_src/*.o + +docs: + $(REBAR_COMPILE) doc + +static: + $(REBAR_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 diff --git a/Makefile b/Makefile index 4deab9f..f8fcbb2 100644 --- a/Makefile +++ b/Makefile @@ -1,30 +1,29 @@ -REBAR=./rebar +REBAR=rebar REBAR_COMPILE=$(REBAR) get-deps compile -PLT=dialyzer/sqlite3.plt +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: $(REBAR_COMPILE) -test: - $(REBAR_COMPILE) eunit +tests: + $(REBAR) eunit clean: - -rm -rf deps ebin priv doc/* .eunit c_src/*.o + -rm -rf deps ebin priv doc\* .eunit c_src\*.o docs: $(REBAR_COMPILE) doc -static: - $(REBAR_COMPILE) -ifeq ($(wildcard $(PLT)),) - dialyzer --build_plt --apps kernel stdlib erts --output_plt $(PLT) -else - dialyzer --plt $(PLT) -r ebin -endif +static: compile + @if not exist $(PLT) \ + (mkdir dialyzer & dialyzer --build_plt --apps kernel stdlib erts --output_plt $(PLT)); \ + else \ + (dialyzer --plt $(PLT) -r ebin) cross_compile: clean $(REBAR_COMPILE) -C rebar.cross_compile.config - -.PHONY: all compile test clean docs static diff --git a/msvc.mk b/msvc.mk deleted file mode 100644 index 8f53498..0000000 --- a/msvc.mk +++ /dev/null @@ -1,37 +0,0 @@ -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 diff --git a/rebar.config b/rebar.config index 54072d3..d56d101 100644 --- a/rebar.config +++ b/rebar.config @@ -2,8 +2,7 @@ {erl_opts, [debug_info]}. %% required for dialyzer {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", "CFLAGS", "/IF:/MyProgramming/sqlite-amalgamation /Ic_src /W4 /wd4100 /wd4204"}, {"win32", "LDFLAGS", "sqlite3.lib"}]}. {cover_enabled, true}. {eunit_opts, [verbose, {report,{eunit_surefire,[{dir,"."}]}}]}.