1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- # Core: Packages and dependencies.
- CORE_DEPS_CASES = build-c pkg search
- CORE_DEPS_TARGETS = $(addprefix core-deps-,$(CORE_DEPS_CASES))
- CORE_DEPS_CLEAN_TARGETS = $(addprefix clean-,$(CORE_DEPS_TARGETS))
- .PHONY: core-deps $(CORE_DEPS_TARGETS) clean-core-deps $(CORE_DEPS_CLEAN_TARGETS)
- clean-core-deps: $(CORE_DEPS_CLEAN_TARGETS)
- $(CORE_DEPS_CLEAN_TARGETS):
- $t rm -rf $(APP_TO_CLEAN)/
- core-deps: $(CORE_DEPS_TARGETS)
- core-deps-build-c: build clean-core-deps-build-c
- $i "Bootstrap a new OTP library named $(APP)"
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
- $i "Add 8cc to the list of build dependencies"
- $t sed -i.bak '2i\
- BUILD_DEPS = 8cc\
- dep_8cc = git https://github.com/rui314/8cc master\
- ' $(APP)/Makefile
- $i "Build the application"
- $t $(MAKE) -C $(APP) $v
- $i "Check that all dependencies were fetched"
- $t test -d $(APP)/deps/8cc
- $i "Check that 8cc can be started"
- $t $(APP)/deps/8cc/8cc -h $v
- $i "Check that the application was compiled correctly"
- $t $(ERL) -pa $(APP)/ebin/ $(APP)/deps/*/ebin/ -eval " \
- [ok = application:load(App) || App <- [$(APP)]], \
- {ok, Deps} = application:get_key($(APP), applications), \
- false = lists:member('8cc', Deps), \
- halt()"
- core-deps-pkg: build clean-core-deps-pkg
- $i "Bootstrap a new OTP library named $(APP)"
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
- $i "Add Cowboy to the list of dependencies"
- $t sed -i.bak '2i\
- DEPS = cowboy\
- ' $(APP)/Makefile
- ifdef LEGACY
- $i "Add Cowboy to the applications key in the .app.src file"
- $t sed -i.bak '8i\
- cowboy,' $(APP)/src/$(APP).app.src
- endif
- $i "Build the application"
- $t $(MAKE) -C $(APP) $v
- $i "Check that all dependencies were fetched"
- $t test -d $(APP)/deps/cowboy
- $t test -d $(APP)/deps/cowlib
- $t test -d $(APP)/deps/ranch
- $i "Check that the application was compiled correctly"
- $t $(ERL) -pa $(APP)/ebin/ $(APP)/deps/*/ebin/ -eval " \
- [ok = application:load(App) || App <- [$(APP), cowboy, cowlib, ranch]], \
- {ok, Deps} = application:get_key($(APP), applications), \
- true = lists:member(cowboy, Deps), \
- halt()"
- core-deps-search: build clean-core-deps-search
- $i "Bootstrap a new OTP library named $(APP)"
- $t mkdir $(APP)/
- $t cp ../erlang.mk $(APP)/
- $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
- $i "Run 'make search' and check that it prints packages"
- $t test -n "`$(MAKE) -C $(APP) search`"
- $i "Run 'make search q=cowboy' and check that it prints packages"
- $t test -n "`$(MAKE) -C $(APP) search q=cowboy`"
|