OSDN Git Service

[update] : Add filename to script
[alterlinux/alterlinux.git] / Makefile
1
2 ARGS         :=
3 BUILD_SCRIPT := build.sh
4 KERNEL       := zen
5 SHARE_OPTION := --boot-splash --comp-type "xz" --user "alter" --password "alter" --kernel "${KERNEL}" --debug --noconfirm
6 ARCH_x86_64  := --arch x86_64
7 ARCH_i686    := --arch i686
8 FULLBUILD    := -d -g -e --noconfirm
9 FULL_x86_64  := xfce cinnamon i3 plasma gnome
10 FULL_i686    := xfce lxde
11 CURRENT_DIR  := ${shell dirname $(dir $(abspath $(lastword $(MAKEFILE_LIST))))}/${shell basename $(dir $(abspath $(lastword $(MAKEFILE_LIST))))}
12
13 full:
14         sudo ${CURRENT_DIR}/tools/fullbuild.sh ${FULLBUILD} -m x86_64 ${FULL_x86_64}
15         sudo ${CURRENT_DIR}/tools/fullbuild.sh ${FULLBUILD} -m i686   ${FULL_i686}
16         @make clean
17
18 basic-64 basic-32  cinnamon-64 cinnamon-32 gnome-64 gnome-32 i3-64 i3-32 lxde-64 lxde-32 plasma-64 releng-32 releng-64 serene-64 serene-32 xfce-64 xfce-32 xfce-pro-64:
19         @$(eval ARCHITECTURE=${shell echo ${@} | rev | cut -d '-' -f 1 | rev })
20         @$(eval CHANNEL=${shell echo ${@} | sed "s/-${ARCHITECTURE}//g"})
21         @[[ -z "${CHANNEL}" ]] && echo "Empty Channel" && exit 1 || :
22         @case ${ARCHITECTURE} in\
23                 "32") sudo ${CURRENT_DIR}/${BUILD_SCRIPT} ${ARGS} ${SHARE_OPTION} ${ARCH_i686} ${CHANNEL} ;;\
24                 "64") sudo ${CURRENT_DIR}/${BUILD_SCRIPT} ${ARGS} ${SHARE_OPTION} ${ARCH_x86_64} ${CHANNEL};;\
25                 *   ) echo "Unknown Architecture"; exit 1  ;; \
26         esac
27         @make clean
28
29 menuconfig/build/mconf::
30         @mkdir -p menuconfig/build
31         (cd menuconfig/build ; cmake -GNinja .. ; ninja -j4 )
32
33 menuconfig:menuconfig/build/mconf menuconfig-script/kernel_choice menuconfig-script/channel_choice
34         @menuconfig/build/mconf menuconfig-script/rootconf
35
36 menuconfig-script/kernel_choice:system/kernel-x86_64 system/kernel-i686
37         @${CURRENT_DIR}/tools/kernel-choice-conf-gen.sh
38 menuconfig-script/channel_choice:
39         @${CURRENT_DIR}/tools/channel-choice-conf-gen.sh
40
41 build_option:
42         @if [ ! -f .config ]; then make menuconfig ; fi
43         ${CURRENT_DIR}/tools/menuconf-to-alterconf.sh ${CURRENT_DIR}/.build_option
44
45 clean:
46         @sudo ${CURRENT_DIR}/${BUILD_SCRIPT} --noconfirm --debug clean
47
48 build:build_option
49         $(eval BUILD_OPTION := $(shell cat ${CURRENT_DIR}/.build_option))
50         @sudo ${CURRENT_DIR}/${BUILD_SCRIPT} ${BUILD_OPTION}
51
52 keyring::
53         @sudo ${CURRENT_DIR}/tools/keyring.sh --alter-add --arch-add
54
55 wizard:
56         @sudo ${CURRENT_DIR}/tools/wizard.sh
57
58 check:
59         @bash -c 'shopt -s globstar nullglob; shellcheck -s bash --exclude=SC2068 -S error **/*.{sh,ksh,bash}'
60         @bash -c 'shopt -s globstar nullglob; shellcheck -s bash --exclude=SC2068 -S error tools/*.{sh,ksh,bash}'