123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- # Core: Compatibility with other build tools.
- #
- # Note: autopatch functionality is covered separately.
- CORE_COMPAT_TARGETS = $(call list_targets,core-compat)
- REBAR3_BINARY = https://s3.amazonaws.com/rebar3/rebar3
- .PHONY: core-compat $(CORE_COMPAT_TARGETS)
- core-compat: $(CORE_COMPAT_TARGETS)
- core-compat-auto-rebar: init
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
- $i
- $t echo >> $(APP)/Makefile
- $i
- $t $(MAKE) -C $(APP) $v
- $i
- $t test -f $(APP)/rebar.config
- $i
- $t $(ERL) -eval $(APP)/rebar.config\
- $i
- $t touch $(APP)/older_file
- $t $(SLEEP)
- $i
- $t $(MAKE) -C $(APP) $v
- $i
- $t test $(APP)/rebar.config -nt $(APP)/older_file
- $i
- $t $(ERL) -eval $(APP)/rebar.config\
- $i
- $t $(MAKE) -C $(APP) distclean $v
- $i
- $t curl --retry 5 -s -L -o $(APP)/rebar3 $(REBAR3_BINARY)
- $t chmod +x $(APP)/rebar3
- $i
- $t cd $(APP) && ./rebar3 compile $v
- core-compat-rebar: init
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
- $i
- $t $(MAKE) -C $(APP) rebar.config $v
- $i
- $t test -f $(APP)/rebar.config
- $i
- $t $(ERL) -eval $(APP)/rebar.config\
- $i
- $t touch $(APP)/older_file
- $t $(SLEEP)
- $i
- $t $(MAKE) -C $(APP) rebar.config $v
- $i
- $t test $(APP)/rebar.config -nt $(APP)/older_file
- $i
- $t $(ERL) -eval $(APP)/rebar.config\
- $i
- $t $(MAKE) -C $(APP) distclean $v
- $i
- $t curl --retry 5 -s -L -o $(APP)/rebar3 $(REBAR3_BINARY)
- $t chmod +x $(APP)/rebar3
- $i
- $t cd $(APP) && ./rebar3 compile $v
- core-compat-rebar-deps-git: init
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
- $i
- $t perl -ni.bak -e 'print;if ($$.==1) {print "DEPS = cowboy\ndep_cowboy = git https://github.com/ninenines/cowboy 2.9.0\n"}' $(APP)/Makefile
- $i
- $t $(MAKE) -C $(APP) rebar.config $v
- $i
- $t test -f $(APP)/rebar.config
- $i
- $t $(ERL) -eval
- $(APP)/rebar.config\
- 2.9.0\
- $i
- $t $(MAKE) -C $(APP) distclean $v
- $i
- $t curl --retry 5 -s -L -o $(APP)/rebar3 $(REBAR3_BINARY)
- $t chmod +x $(APP)/rebar3
- $i
- $t cd $(APP) && ./rebar3 compile $v
- core-compat-rebar-deps-hex: init
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
- $i
- $t perl -ni.bak -e 'print;if ($$.==1) {print "DEPS = cowboy\ndep_cowboy = hex 1.0.0\n"}' $(APP)/Makefile
- $i
- $t $(MAKE) -C $(APP) rebar.config $v
- $i
- $t test -f $(APP)/rebar.config
- $i
- $t $(ERL) -eval
- $(APP)/rebar.config\
- 1.0.0\
- $i
- $t $(MAKE) -C $(APP) distclean $v
- $i
- $t curl --retry 5 -s -L -o $(APP)/rebar3 $(REBAR3_BINARY)
- $t chmod +x $(APP)/rebar3
- $i
- $t cd $(APP) && ./rebar3 compile $v
- core-compat-rebar-deps-pkg: init
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
- $i
- $t perl -ni.bak -e 'print;if ($$.==1) {print "DEPS = cowboy\n"}' $(APP)/Makefile
- $i
- $t $(MAKE) -C $(APP) rebar.config $v
- $i
- $t test -f $(APP)/rebar.config
- $i
- $t $(ERL) -eval
- $(APP)/rebar.config\
- https://github.com/\
- $i
- $t $(MAKE) -C $(APP) distclean $v
- $i
- $t curl --retry 5 -s -L -o $(APP)/rebar3 $(REBAR3_BINARY)
- $t chmod +x $(APP)/rebar3
- $i
- $t cd $(APP) && ./rebar3 compile $v
- core-compat-rebar-erlc-opts: init
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
- $i
- $t echo >> $(APP)/Makefile
- $i
- $t $(MAKE) -C $(APP) rebar.config $v
- $i
- $t test -f $(APP)/rebar.config
- $i
- $t $(ERL) -eval
- $(APP)/rebar.config\
- $i
- $t $(ERL) -eval
- $(APP)/rebar.config\
- $i
- $t $(ERL) -eval
- $(APP)/rebar.config\
- $i
- $t $(MAKE) -C $(APP) distclean $v
- $i
- $t curl --retry 5 -s -L -o $(APP)/rebar3 $(REBAR3_BINARY)
- $t chmod +x $(APP)/rebar3
- $i
- $t cd $(APP) && ./rebar3 compile $v
- core-compat-rebar-pt: init
- $i
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
- $i
- $t echo > $(APP)/src/boy.erl
- $t echo > $(APP)/src/girl.erl
- $i
- $t perl -ni.bak -e 'print;if ($$.==1) {print "DEPS = lager\n"}' $(APP)/Makefile
- $i
- $t echo >> $(APP)/Makefile
- $i
- $t $(MAKE) -C $(APP) $v
- $i
- $t $(MAKE) -C $(APP) rebar.config $v
- $i
- $t test -f $(APP)/rebar.config
- $i
- $t $(ERL) -eval
- $(APP)/rebar.config\
- # For the new build method, we have to simulate keeping the .app file
- # inside the repository, by leaving it in the ebin/ directory before
- # calling Rebar.
- ifndef LEGACY
- $i
- $t mv $(APP)/ebin/$(APP).app $(APP)/
- endif
- $i
- $t $(MAKE) -C $(APP) distclean $v
- ifndef LEGACY
- $i
- $t mkdir $(APP)/ebin/
- $t mv $(APP)/$(APP).app $(APP)/ebin/
- endif
- $i
- $t curl --retry 5 -s -L -o $(APP)/rebar3 $(REBAR3_BINARY)
- $t chmod +x $(APP)/rebar3
- $i
- $t cd $(APP) && ./rebar3 compile $v
- $i
- $t test -f $(APP)/_build/default/lib/$(APP)/ebin/$(APP).app
- $t test -f $(APP)/_build/default/lib/$(APP)/ebin/boy.beam
- $t test -f $(APP)/_build/default/lib/$(APP)/ebin/girl.beam
|