0e57149de9
NB: this implementation is awfully cut-n-paste one, there are lots of common code with install2 which are subject to careful surgery
75 lines
2.8 KiB
Makefile
75 lines
2.8 KiB
Makefile
# this makefile is designed to be included in toplevel one
|
|
ifndef BUILDDIR
|
|
$(error BUILDDIR not defined)
|
|
endif
|
|
|
|
# step 2: build up distribution's configuration
|
|
|
|
# NB: distro/ targets should be defined in this file,
|
|
# see toplevel Makefile's $(DISTROS) assignment
|
|
CONFIG = $(BUILDDIR)/distcfg.mk
|
|
|
|
# collect use/% (source initial feature snippets)
|
|
-include features.in/*/config.mk
|
|
|
|
# put(), add(), set(), try(), tags():
|
|
# package list names are considered relative to pkg/lists/;
|
|
# tags can do boolean expressions: (tag1 && !(tag2 || tag3))
|
|
include functions.mk
|
|
|
|
# distro/.%, sub/.%, boot/%
|
|
include libdistro.mk
|
|
|
|
# bootloader test target; requires recent mkimage to build
|
|
distro/syslinux: distro/.init distro/.branding sub/stage1 \
|
|
use/syslinux use/syslinux/localboot.cfg \
|
|
use/syslinux/ui-vesamenu use/hdt use/memtest use/dos
|
|
|
|
# $(VAR) will be substituted before writing them to $(CONFIG);
|
|
# $$(VAR) will remain unsubstituted util $(CONFIG) is included
|
|
# and their value requested (so the variable referenced
|
|
# can change its value during configuration _before_
|
|
# it's actually used); just peek inside $(CONFIG) ;-)
|
|
# BASE_PACKAGES, BASE_LISTS, MAIN_PACKAGES, MAIN_LISTS: see sub.in/main/
|
|
|
|
# something actually useful (as a network-only installer)
|
|
distro/installer: distro/.base use/installer
|
|
@$(call set,INSTALLER,altlinux-generic)
|
|
@$(call set,STAGE1_KMODULES_REGEXP,drm.*) # for KMS
|
|
|
|
# server distributions
|
|
|
|
distro/server-base: distro/installer sub/main use/syslinux/ui-menu use/memtest
|
|
@$(call add,BASE_LISTS,server-base)
|
|
|
|
distro/server-ovz: distro/server-base use/hdt use/firmware/server
|
|
@$(call set,STAGE1_KFLAVOUR,std-def)
|
|
@$(call set,KFLAVOURS,std-def ovz-el)
|
|
@$(call add,KMODULES,bcmwl e1000e igb ndiswrapper rtl8168 rtl8192)
|
|
@$(call add,KMODULES,ipset ipt-netflow opendpi pf_ring xtables-addons)
|
|
@$(call add,KMODULES,drbd83 kvm)
|
|
@$(call add,MAIN_LISTS,kernel-wifi)
|
|
@$(call add,BASE_LISTS,ovz-server)
|
|
@$(call add,BASE_LISTS,$(call tags,base server))
|
|
@$(call add,GROUPS,dns-server http-server ftp-server kvm-server)
|
|
@$(call add,GROUPS,ipmi mysql-server dhcp-server mail-server)
|
|
@$(call add,GROUPS,monitoring diag-tools)
|
|
|
|
distro/minicd: distro/server-base
|
|
@$(call set,KFLAVOURS,pure-emerald) # usually recent drivers
|
|
@$(call add,MAIN_PACKAGES,etcnet-full)
|
|
|
|
distro/rescue: distro/.branding sub/rescue use/stage1kernel use/syslinux/ui-menu
|
|
@$(call set,KFLAVOURS,un-def) # usually recent drivers too
|
|
@$(call add,RESCUE_PACKAGES,etcnet-full)
|
|
|
|
# desktop distributions
|
|
|
|
distro/desktop-base: distro/installer sub/main \
|
|
use/syslinux/ui-vesamenu use/x11/xorg
|
|
|
|
distro/icewm: distro/desktop-base use/lowmem use/x11/xdm use/x11/runlevel5 use/bootloader/lilo
|
|
@$(call add,BASE_LISTS,$(call tags,icewm desktop))
|
|
|
|
# NB: if there are too many screens above, it might make sense to distro.d/
|