Files
build.ems/Makefile
2024-10-19 19:01:39 +08:00

69 lines
1.9 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
package_name=$(project)-$(version)-$(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 "prepare build environment ..."
@rm -rf $(package_path)
@mkdir -p $(package_path)
@echo "copy bin to build directory ..."
@cp -rf $(svc_bin) $(package_path)
@echo "update release date ..."
@sed -i "s/Release Date:.*/Release Date: $(current_date)/" $(vfile)
@echo "copy extra file to build directory ..."
@cp -rf $(extra_dir)/* $(package_path)
@echo "copy web file to build directory ..."
@mkdir -p $(package_path)/web
@cp -rf $(web_root)/* $(package_path)/web
@echo "build package $(package_file) ..."
@tar cvfz $(build_dir)/$(package_file) -C $(build_dir) $(package_name) >/dev/null
@echo "move $(package_file) to $(release_dir) ..."
@mv -f $(build_dir)/$(package_file) $(release_dir)
@echo "clear temp build directory ..."
@rm -rf $(package_path)