Просмотр исходного кода

Merge branch 'master' of github.com:kakaranet/games

Roman Dayneko 11 лет назад
Родитель
Сommit
d29522ada4
4 измененных файлов с 64 добавлено и 2 удалено
  1. 1 0
      Makefile
  2. 1 1
      apps/face/src/index.erl
  3. 61 0
      erl.mk
  4. 1 1
      otp.mk

+ 1 - 0
Makefile

@@ -16,3 +16,4 @@ static-link:
 	ln -s ../../../../deps/n2o_scripts/n2o $(APP)
 	ln -s ../../../../deps/n2o_scripts/n2o $(APP)
 
 
 include otp.mk
 include otp.mk
+include erl.mk

+ 1 - 1
apps/face/src/index.erl

@@ -324,6 +324,6 @@ event(pause) ->
         end,
         end,
     wf:wire(pause("1000001", wf:f("~p", [Action])));
     wf:wire(pause("1000001", wf:f("~p", [Action])));
 
 
-event(Event)  -> wf:info("Event: ~p", [Event]).
+event(Event)  -> ok. %wf:info("Event: ~p", [Event]).
 
 
 api_event(X,Y,Z) -> avz:api_event(X,Y,Z).
 api_event(X,Y,Z) -> avz:api_event(X,Y,Z).

+ 61 - 0
erl.mk

@@ -0,0 +1,61 @@
+all: deps apps
+.PHONY: all
+
+APPS = $(patsubst apps/*/src/%.app.src,%,$(wildcard apps/*/src/*.app.src))
+
+### DEPS -- Fetches & compiles deps recursively then moves every dep to deps/
+
+deps: $(patsubst dep_%,deps/%/,$(filter dep_%,$(.VARIABLES))) | deps-dir
+	$(if $(wildcard deps/*/deps/), \
+	mv -v deps/*/deps/* deps/ 2>/dev/null ; rmdir $(wildcard deps/*/deps/))
+.PHONY: deps
+
+deps-dir:
+	$(if $(wildcard deps/),,mkdir deps/)
+
+deps/%/:
+	git clone -n -- $(word 1,$(dep_$*)) $@
+	cd $@ && git checkout -q $(word 2,$(dep_$*)) && cd ../..
+	@bash -c "if [[ -f $@/Makefile ]]; \
+	then echo 'make -C $@ all' ; make -C $@ all  ; \
+	else echo 'cd $@ && rebar get-deps compile && cd ../..' ; \
+	cd $@ && rebar get-deps compile && cd ../..  ; fi"
+
+### APP -- Compiles src/ into ebin/
+
+apps: $(APPS) 
+	$(foreach ext, erl xrl yrl S core, \
+	$(patsubst apps/*/src/%.$(ext), apps/*/ebin/%.beam, $(wildcard apps/*/src/*.$(ext)))) \
+	$(patsubst apps/*/templates/%.dtl,  apps/*/ebin/%_dtl.beam,$(wildcard apps/*/templates/*.dtl))
+	echo "-> $@"
+.PHONY: apps
+
+apps/*/ebin/%.app: apps/*/src/%.app.src | apps/*/ebin/
+	@erl -noshell \
+	-eval 'case file:consult("$<") of {ok,_} -> ok ; \
+	{error,{_,_,M}} -> io:format("$<: ~s~s\n",M), halt(1) end.' \
+	-s init stop
+	cp $< $@
+	echo "application -> $@"
+
+apps/*/ebin/%.beam: apps/*/src/%.erl $(wildcard apps/*/include/*) | apps/*/ebin/ | deps/*/ebin/
+	erlc -o ebin/ $(ERLCFLAGS) -v -Iinclude/ -Ideps/ $<
+	echo "compile -> $@"
+
+apps/*/ebin/%_view.beam: apps/*/priv/templates/%.html | apps/*/ebin/
+	$(if $(wildcard deps/erlydtl/),, \
+	$(error Error compiling $<: deps/erlydtl/ not found))
+	@erl -noshell -pa ebin/ -pa deps/*/ebin/ \
+	-eval 'io:format("Compiling ErlyDTL template: $< -> $@\n").' \
+	-eval 'erlydtl:compile("$<", $*_view, [{out_dir,"ebin/"},{auto_escape,false}]).' \
+	-s init stop
+	echo "template -> $@"
+
+apps/*/ebin/:
+	mkdir ebin/
+	echo "-> $@"
+
+#clean:
+#	$(if $(wildcard apps/*/ebin/),rm -r ebin/)
+
+#.PHONY: clean

+ 1 - 1
otp.mk

@@ -44,4 +44,4 @@ eunit:
 ct:
 ct:
 	rebar ct skip_deps=true verbose=1
 	rebar ct skip_deps=true verbose=1
 
 
-.PHONY: delete-deps get-deps compile clean console start attach release update-deps dialyze ct eunit tar
+.PHONY: delete-deps get-deps clean compile console start attach release update-deps dialyze ct eunit tar