# MCONFIG -- Configuration stuff for util-linux
# Created: Sat Feb 4 15:50:30 1995
# Copyright 1995 Rickard E. Faith (faith@cs.unc.edu)
# For a user-mode install, make (at least) three changes:
# - remove the `-o root' part in INSTALLSUID
# - set USE_TTY_GROUP=no
# - define DESTDIR
# Select for ARCH one of intel, alpha, sparc, arm, m68k, mips
# Select for CPU i386 if the binaries must be able to run on an intel 386
# (by default i486 code is generated, see below)
CPU=$(shell uname -m)
ARCH=$(shell echo $(CPU) | sed 's/i.86/intel/;s/arm.*/arm/')
# If HAVE_PAM is set to "yes", then login, chfn, chsh, and newgrp
# will use PAM for authentication. Additionally, passwd will not be
# installed as it is not PAM aware.
HAVE_PAM=no
# If HAVE_SELINUX is set to "yes", the login will make sure the user is
# logged into an appropriate security context
HAVE_SELINUX=no
# If HAVE_SHADOW is set to "yes", then login, chfn, chsh, newgrp, passwd,
# and vipw will not be built or installed from the login-utils
# subdirectory.
HAVE_SHADOW=yes
# If HAVE_PASSWD is set to "yes", then passwd will not be built or
# installed from the login-utils subdirectory (but login, chfn, chsh,
# newgrp, and vipw *will* be installed).
HAVE_PASSWD=no
# If you use chfn and chsh from this package, REQUIRE_PASSWORD will require
# non-root users to enter the account password before updating /etc/passwd.
REQUIRE_PASSWORD=yes
#REQUIRE_PASSWORD=no
# If you use chsh from this package, ONLY_LISTED_SHELLS will require that
# the selected shell be listed in /etc/shells -- otherwise only a warning is
# printed. This prevents someone from setting their shell to /bin/false.
ONLY_LISTED_SHELLS=yes
#ONLY_LISTED_SHELLS=no
# If HAVE_SYSVINIT is set to "yes", then simpleinit and shutdown will not
# be built or installed from the login-utils subdirectory. (The shutdown
# and halt that come with the SysVinit package should be used with the init
# found in that package.)
HAVE_SYSVINIT=yes
# If HAVE_SYSVINIT_UTILS is set to "yes", then last, mesg, and wall will
# not be built or installed from the login-utils subdirectory. (The
# shutdown and init from the SysVinit package do not depend on the last,
# mesg, and wall from that package.)
HAVE_SYSVINIT_UTILS=yes
# If HAVE_WRITE is set to "yes", then write will not be built or
# installed from the misc-utils subdirectory.
# (There is a network aware write in netwrite from NetKit 0.16 or later.)
HAVE_WRITE=no
# If HAVE_GETTY is set to "yes", then agetty will not be built or
# installed from the login-utils subdirectory. Note that agetty can
# co-exist with other gettys, so this option should never be used.
HAVE_GETTY=no
# If USE_TTY_GROUP is set to "yes", then wall and write will be installed
# setgid to the "tty" group, and mesg will only set the group write bit.
# Note that this is only useful if login/xterm/etc. change the group of the
# user's tty to "tty" [The login in util-linux does this correctly, and
# xterm will do it correctly if X is compiled with USE_TTY_GROUP set
# properly.]
USE_TTY_GROUP=yes
# If HAVE_KILL is set to "yes", then kill will not be built or
# installed from the misc-utils subdirectory.
# (There is also a kill in the procps package.)
HAVE_KILL=no
# If ALLOW_VCS_USE is set to "yes", then login will chown /dev/vcsN
# to the current user, allowing her to make a screendump and do other
# nifty things on the console, but also allowing him to keep an open
# file descriptor after logging out to trick the next user.
ALLOW_VCS_USE=yes
# If HAVE_RESET is set to "yes", then reset won't be installed. The version
# of reset that comes with the ncurses package is less aggressive.
HAVE_RESET=yes
# If HAVE_SLN is set to "yes", then sln won't be installed
# (but the man page sln.8 will be installed anyway).
# sln also comes with libc and glibc.
HAVE_SLN=no
# If HAVE_FDUTILS is set to "yes", then setfdprm won't be installed.
HAVE_FDUTILS=no
# If SILENT_PG is set to "yes", then pg will not ring the bell
# when an invalid key is pressed
SILENT_PG=no
# If configure decides that Native Language Support (NLS) is available,
# it sets MAY_ENABLE_NLS in defines.h. If you don't want NLS, set
# DISABLE_NLS to "yes".
DISABLE_NLS=no
# Different optimizations for different cpus.
# gcc 3.0 likes options -mcpu=i486 instead of -m486
ifeq "$(ARCH)" "intel"
ifeq "$(HAVE_OLD_GCC)" "yes"
CPUHEAD=-m
else
CPUHEAD=-mcpu=i
endif
ifeq "$(CPU)" "i386"
CPUTAIL=386
else
CPUTAIL=486
endif
CPUOPT= $(CPUHEAD)$(CPUTAIL)
OPT= -pipe -O2 $(CPUOPT) -fomit-frame-pointer
else
ifeq "$(ARCH)" "arm"
OPT= -pipe -O2 -fsigned-char -fomit-frame-pointer
else
OPT= -O2 -fomit-frame-pointer
endif
endif
WARNFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes
LIB=../lib
ERR_O=$(LIB)/err.o
# Set HAVE_SLANG to yes if you have slang (and prefer to use that for cfdisk)
# (If neither HAVE_NCURSES nor HAVE_SLANG is defined, cfdisk is not made.)
# HAVE_SLANG=yes
# There is a subdirectory /usr/include/slang containing slcurses.h
# SLANGFLAGS=-I/usr/include/slang
# No such subdirectory - slcurses.h lives in /usr/include
# (no extra definition required).
LIBSLANG=-lslang
#
# Paths used for compilation (not all are actually used, see CFLAGS below)
#
DEV_DIR= /dev
ETC_DIR= /etc
SBIN_DIR= /sbin
USRSBIN_DIR= /usr/sbin
USRLIB_DIR= /usr/lib
USRBIN_DIR= /usr/bin
USRGAMES_DIR= /usr/games
USRSHAREMISC_DIR=/usr/share/misc
LOCALE_DIR= /usr/share/locale
BIN_DIR= /bin
VAR_PATH= /var
LOG_DIR= /var/log
MAN_DIR= /usr/share/man
INFO_DIR= /usr/share/info
#
# Paths used for install
#
DEVDIR= $(DESTDIR)$(DEV_DIR)
ETCDIR= $(DESTDIR)$(ETC_DIR)
SBINDIR= $(DESTDIR)$(SBIN_DIR)
USRSBINDIR= $(DESTDIR)$(USRSBIN_DIR)
USRLIBDIR= $(DESTDIR)$(USRLIB_DIR)
USRBINDIR= $(DESTDIR)$(USRBIN_DIR)
USRGAMESDIR= $(DESTDIR)$(USRGAMES_DIR)
USRSHAREMISCDIR=$(DESTDIR)$(USRSHAREMISC_DIR)
LOCALEDIR= $(DESTDIR)$(LOCALE_DIR)
BINDIR= $(DESTDIR)$(BIN_DIR)
VARPATH= $(DESTDIR)$(VAR_PATH)
LOGDIR= $(DESTDIR)$(LOG_DIR)
MANDIR= $(DESTDIR)$(MAN_DIR)
MAN1DIR= $(MANDIR)/man1
MAN3DIR= $(MANDIR)/man3
MAN5DIR= $(MANDIR)/man5
MAN6DIR= $(MANDIR)/man6
MAN8DIR= $(MANDIR)/man8
INFODIR= $(DESTDIR)$(INFO_DIR)
# Directory for shutdown, halt, reboot, etc.
SHUTDOWNDIR= $(SBINDIR)
# Modes
DIRMODE= 755
BINMODE= 755
MANMODE= 644
DATMODE= 644
INFOMODE= 644
SUIDMODE= 4755
CHMOD= chmod
INSTALL= install
INSTALLDIR= $(INSTALL) -d -m $(DIRMODE)
INSTALLBIN= $(INSTALL) -m $(BINMODE)
INSTALLMAN= $(INSTALL) -m $(MANMODE)
INSTALLDAT= $(INSTALL) -m $(DATMODE)
INSTALLSUID= $(INSTALL) -m $(SUIDMODE) -o root
ifeq "$(DISABLE_NLS)" "yes"
NLSFLAGS = -DDISABLE_NLS
endif
CFLAGS := $(OPT) -I$(LIB) $(WARNFLAGS) \
$(CURSESFLAGS) $(SLANGFLAGS) $(NLSFLAGS) \
-D_FILE_OFFSET_BITS=64 \
-DSBINDIR=\"$(SBIN_DIR)\" \
-DUSRSBINDIR=\"$(USRSBIN_DIR)\" \
-DLOGDIR=\"$(LOG_DIR)\" \
-DVARPATH=\"$(VAR_PATH)\" \
-DLOCALEDIR=\"$(LOCALE_DIR)\" \
$(CFLAGS)
%.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
%: %.cc
$(CXX) $(CFLAGS) $< -o $@