# 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_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=no # 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=no # 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=no # 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) 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 $@