Files
build.ems/Makefile
2025-06-18 10:51:23 +08:00

78 lines
2.1 KiB
Makefile

# makefile for build package
build_root=$(shell pwd)
project=ems
# os platform
platform=ub22
build_dir=$(build_root)/build
release_dir=$(build_root)/release
extra_dir=$(build_root)/extra
RelDate=$(shell date "+%Y%m%d")
package_name=$(project)-$(version)-$(RelDate)-$(platform)
package_dir=$(package_name)
package_path=$(build_dir)/$(package_name)
svc_root=$(build_root)/../svc.ems
svc_bin=$(svc_root)/bin
web_root=$(build_root)/../web.ems
package_file=$(package_name).tgz
current_date=$(shell date "+%Y-%m-%d %H:%M:%S")
vfile=$(extra_dir)/emsVersion
# get version from emsVersion
version=$(shell grep "Version:" $(vfile) | awk -F' ' '{print $$2}')
src_log=make_src.log
plat_log=make_plat.log
print-version:
@echo "Version: $(version)"
@echo "Release Date: $(current_date)"
src_all:
@echo -n "make all src programs ..."
@$(MAKE) -C $(svc_root)/src 1>$(src_log) 2>&1
@echo "refer to log $(src_log)"
plat_all:
@echo -n "make all plat modules ..."
@$(MAKE) -C $(svc_root)/plat 1>$(plat_log) 2>&1
@echo "refer to log $(plat_log)"
src_clean:
$(MAKE) -C $(svc_root)/src src_clean
plat_clean:
$(MAKE) -C $(svc_root)/plat clean
bin: plat_all src_all
clean: plat_clean src_clean
package: bin
@echo -n "prepare build environment ... "
@rm -rf $(package_path)
@mkdir -p $(package_path)
@echo "done"
@echo -n "copy bin to build directory ... "
@cp -rf $(svc_bin) $(package_path)
@echo "done"
@echo -n "update release date ... "
@sed -i "s/Release Date:.*/Release Date: $(current_date)/" $(vfile)
@echo "done"
@echo -n "copy extra file to build directory ... "
@cp -rf $(extra_dir)/* $(package_path)
@echo "done"
@echo -n "copy web file to build directory ... "
@mkdir -p $(package_path)/web
@cp -rf $(web_root)/* $(package_path)/web
@echo "done"
@echo -n "build package $(package_file) ... "
@tar cvfz $(build_dir)/$(package_file) -C $(build_dir) $(package_name) >/dev/null
@echo "done"
@echo -n "move $(package_file) to $(release_dir) ... "
@mv -f $(build_dir)/$(package_file) $(release_dir)
@echo "done"
@echo -n "clear temp build directory ... "
@rm -rf $(package_path)
@echo "done"