OSDN Git Service

[fix] : Do not install with makepkg
[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}" --noconfirm
6 ARCH_x86_64  := --arch x86_64
7 ARCH_i686    := --arch i686
8 ARCH_Pen4    := --arch pen4
9 FULLBUILD    := -d -g -e --noconfirm
10 DEBUG_OPTION := --debug --log
11 DEBUG        := false
12 FULL_x86_64  := xfce cinnamon i3 plasma gnome
13 FULL_i686    := xfce lxde
14 FULL_Pen4    := xfce lxde
15
16 CURRENT_DIR  := ${shell dirname $(dir $(abspath $(lastword $(MAKEFILE_LIST))))}/${shell basename $(dir $(abspath $(lastword $(MAKEFILE_LIST))))}
17
18 ifeq (${DEBUG},true)
19         ARGS += ${ARGS} ${DEBUG_OPTION}
20 endif
21
22 full: full-x86_64 full-i686 clean
23
24 full-x86_64:
25         sudo ${CURRENT_DIR}/tools/fullbuild.sh ${FULLBUILD} -m x86_64 ${FULL_x86_64}
26
27 full-i686:
28         sudo ${CURRENT_DIR}/tools/fullbuild.sh ${FULLBUILD} -m i686   ${FULL_i686}
29
30 full-pen4:
31         sudo ${CURRENT_DIR}/tools/fullbuild.sh ${FULLBUILD} -m pen4   ${FULL_Pen4}
32
33 basic-ja-64    basic-en-64    basic-ja-32     basic-en-32     basic-ja-pen4     basic-en-pen4    \
34 cinnamon-ja-64 cinnamon-en-64 cinnamon-ja-32  cinnamon-en-32  cinnamon-ja-pen4  cinnamon-en-pen4 \
35 gnome-ja-64    gnome-en-64    gnome-ja-32     gnome-en-32     gnome-ja-pen4     gnome-en-pen4    \
36 i3-ja-64       i3-en-64       i3-ja-32        i3-en-32        i3-ja-pen4        i3-en-pen4       \
37 lxde-ja-64     lxde-en-64     lxde-ja-32      lxde-en-32      lxde-ja-pen4      lxde-en-pen4     \
38 plasma-ja-64   plasma-en-64                                                                      \
39 releng-ja-64   releng-en-64   releng-ja-32    releng-en-32    releng-ja-pen4    releng-en-pen4   \
40 serene-ja-64   serene-en-64   serene-ja-32    serene-en-32    serene-ja-pen4    serene-en-pen4   \
41 xfce-ja-64     xfce-en-64     xfce-ja-32      xfce-en-32      xfce-ja-pen4      xfce-en-pen4     \
42 xfce-pro-ja-64 xfce-pro-en-64                                                                    \
43 :
44         @$(eval ARCHITECTURE=${shell echo ${@} | rev | cut -d '-' -f 1 | rev })
45         @$(eval LOCALE=${shell echo ${@} | rev | cut -d '-' -f 2 | rev })
46         @$(eval CHANNEL=${shell echo ${@} | sed "s/-${LOCALE}-${ARCHITECTURE}//g"})
47         @[[ -z "${CHANNEL}" ]] && echo "Empty Channel" && exit 1 || :
48         @case ${ARCHITECTURE} in\
49                 "pen4") sudo ${CURRENT_DIR}/${BUILD_SCRIPT} ${ARGS} ${SHARE_OPTION} ${ARCH_Pen4}   -l ${LOCALE} ${CHANNEL} ;;\
50                 "32"  ) sudo ${CURRENT_DIR}/${BUILD_SCRIPT} ${ARGS} ${SHARE_OPTION} ${ARCH_i686}   -l ${LOCALE} ${CHANNEL} ;;\
51                 "64"  ) sudo ${CURRENT_DIR}/${BUILD_SCRIPT} ${ARGS} ${SHARE_OPTION} ${ARCH_x86_64} -l ${LOCALE} ${CHANNEL};;\
52                 *     ) echo "Unknown Architecture"; exit 1  ;; \
53         esac
54
55 menuconfig/build/mconf::
56         @mkdir -p menuconfig/build
57         (cd menuconfig/build ; cmake -GNinja .. ; ninja -j4 )
58
59 menuconfig:menuconfig/build/mconf menuconfig-script/kernel_choice menuconfig-script/channel_choice
60         @menuconfig/build/mconf menuconfig-script/rootconf
61
62 menuconfig-script/kernel_choice:system/kernel-x86_64 system/kernel-i686 system/kernel-pen4
63         @${CURRENT_DIR}/tools/kernel-choice-conf-gen.sh
64 menuconfig-script/channel_choice:
65         @${CURRENT_DIR}/tools/channel-choice-conf-gen.sh
66
67 build_option:
68         @if [ ! -f .config ]; then make menuconfig ; fi
69         ${CURRENT_DIR}/tools/menuconf-to-alterconf.sh ${CURRENT_DIR}/.build_option
70
71 clean:
72         @sudo ${CURRENT_DIR}/${BUILD_SCRIPT} --noconfirm --debug clean
73
74 build:build_option
75         $(eval BUILD_OPTION := $(shell cat ${CURRENT_DIR}/.build_option))
76         @sudo ${CURRENT_DIR}/${BUILD_SCRIPT} ${BUILD_OPTION}
77
78 keyring::
79         @sudo ${CURRENT_DIR}/tools/keyring.sh --alter-add --arch-add
80
81 wizard:
82         @sudo ${CURRENT_DIR}/tools/wizard.sh
83
84 check:
85         @bash -c 'shopt -s globstar nullglob; shellcheck -s bash --exclude=SC2068 -S error **/*.{sh,ksh,bash}'
86         @bash -c 'shopt -s globstar nullglob; shellcheck -s bash --exclude=SC2068 -S error tools/*.{sh,ksh,bash}'