/contrib/ee/create.make
https://bitbucket.org/freebsd/freebsd-head/ · Shell · 292 lines · 278 code · 5 blank · 9 comment · 2 complexity · d126ecfa1493b58054dea6d932d9dba8 MD5 · raw file
- #!/bin/sh
- #
- # This script will determine if the system is a System V or BSD based
- # UNIX system and create a makefile for ee appropriate for the system.
- #
- # $Header: /home/hugh/sources/old_ae/RCS/create.make,v 1.13 2002/09/23 04:18:13 hugh Exp $
- #
- #set -x
- name_string="`uname`"
- # test for existence of termcap (exists on both BSD and SysV systems)
- if [ -f /etc/termcap -o -f /usr/share/lib/termcap -o -f /usr/share/misc/termcap ]
- then
- if [ -f /usr/share/lib/termcap ]
- then
- termcap_exists="-DTERMCAP=\"\\\"/usr/share/lib/termcap\\\"\""
- elif [ -f /usr/share/misc/termcap ]
- then
- termcap_exists="-DTERMCAP=\"\\\"/usr/share/misc/termcap\\\"\""
- elif [ -f /etc/termcap ]
- then
- termcap_exists="-DTERMCAP=\"\\\"/etc/termcap\\\"\""
- fi
- else
- termcap_exists=""
- fi
- # test for terminfo directory (exists on SysV systems)
- if [ -d /usr/lib/terminfo -o -d /usr/share/lib/terminfo -o -d /usr/share/terminfo ]
- then
- terminfo_exists=""
- else
- terminfo_exists="-DCAP"
- fi
- # test for existence of termio header (on SysV systems)
- if [ -f /usr/include/termio.h ]
- then
- termio="-DSYS5"
- else
- termio=""
- fi
- # test for sgtty header (on BSD systems)
- if [ -f /usr/include/sgtty.h ]
- then
- sgtty="TRUE"
- else
- sgtty=""
- fi
- # look for select call in headers, make sure headers exist
- HEADER_FILES=""
- if [ -f /usr/include/sys/time.h ]
- then
- HEADER_FILES="/usr/include/sys/time.h "
- fi
- if [ -f /usr/include/sys/types.h ]
- then
- HEADER_FILES="$HEADER_FILES /usr/include/sys/types.h"
- fi
- # check for unistd.h
- if [ -f /usr/include/unistd.h ]
- then
- HAS_UNISTD=-DHAS_UNISTD
- HEADER_FILES="$HEADER_FILES /usr/include/unistd.h"
- else
- HAS_UNISTD=""
- fi
- if [ -n "$HEADER_FILES" ]
- then
- string="`grep select $HEADER_FILES`"
- if [ -n "$string" ]
- then
- BSD_SELECT="-DBSD_SELECT"
- else
- BSD_SELECT=""
- fi
- fi
- # check for existence of select.h (on AIX)
- if [ -f /usr/include/sys/select.h ]
- then
- select_hdr="-DSLCT_HDR"
- else
- select_hdr=""
- fi
- # check for stdlib.h
- if [ -f /usr/include/stdlib.h ]
- then
- HAS_STDLIB=-DHAS_STDLIB
- else
- HAS_STDLIB=""
- fi
- # check for stdarg.h
- if [ -f /usr/include/stdarg.h ]
- then
- HAS_STDARG=-DHAS_STDARG
- else
- HAS_STDARG=""
- fi
- # check for ctype.h
- if [ -f /usr/include/ctype.h ]
- then
- HAS_CTYPE=-DHAS_CTYPE
- else
- HAS_CTYPE=""
- fi
- # check for sys/ioctl.h
- if [ -f /usr/include/sys/ioctl.h ]
- then
- HAS_SYS_IOCTL=-DHAS_SYS_IOCTL
- else
- HAS_SYS_IOCTL=""
- fi
- # check for sys/wait.h
- if [ -f /usr/include/sys/wait.h ]
- then
- HAS_SYS_WAIT=-DHAS_SYS_WAIT
- else
- HAS_SYS_WAIT=""
- fi
- # check for localization headers
- if [ -f /usr/include/locale.h -a -f /usr/include/nl_types.h ]
- then
- catgets=""
- else
- catgets="-DNO_CATGETS"
- fi
- # make decisions about use of new_curse.c (use of new_curse is recommended
- # rather than local curses)
- if [ -n "$terminfo_exists" -a -z "$termcap_exists" ]
- then
- echo "Neither terminfo or termcap are on this system! "
- if [ -f /usr/include/curses.h ]
- then
- echo "Relying on local curses implementation."
- else
- cat <<-EOF
- Don't know where to find curses, you'll need to modify
- source code to be able to build!
-
- Modify the file make.default and build ee by typing:
-
- make -f make.default
-
- EOF
- exit 1
- fi
-
- TARGET="curses"
- curses=""
- else
- curses="-DNCURSE"
- TARGET="ee"
- fi
- if [ -z "$termio" -a -z "$sgtty" ]
- then
- echo "Neither termio.h or sgtty.h are on this system! "
- if [ -f /usr/include/curses.h ]
- then
- echo "Relying on local curses implementation."
- else
- cat <<-EOF
- Don't know where to find curses, you'll need to modify
- source code to be able to build!
-
- Modify the file make.default and build ee by typing:
-
- make -f make.default
-
- EOF
- exit 1
- fi
-
- TARGET="curses"
- curses=""
- fi
- # check if this is a SunOS system
- if [ -d /usr/5include ]
- then
- five_include="-I/usr/5include"
- else
- five_include=""
- fi
- if [ -d /usr/5lib ]
- then
- five_lib="-L/usr/5lib"
- else
- five_lib=""
- fi
- if [ "$name_string" = "Darwin" ]
- then
- if [ -n "$CFLAGS" ]
- then
- other_cflags="${CFLAGS} -DNO_CATGETS"
- else
- other_cflags="-DNO_CATGETS"
- fi
- else
- if [ -n "$CFLAGS" ]
- then
- if [ -z "`echo $CFLAGS | grep '[-]g'`" ]
- then
- other_cflags="${CFLAGS} -s"
- else
- other_cflags="${CFLAGS}"
- fi
- else
- other_cflags="-s"
- fi
- fi
- # time to write the makefile
- echo "Generating make.local"
- if [ -f make.local ]
- then
- mv make.local make.lcl.old
- fi
- echo "DEFINES = $termio $terminfo_exists $BSD_SELECT $catgets $select $curses " > make.local
- echo "" >> make.local
- echo "CFLAGS = $HAS_UNISTD $HAS_STDARG $HAS_STDLIB $HAS_CTYPE $HAS_SYS_IOCTL $HAS_SYS_WAIT $five_lib $five_include $select_hdr $other_cflags $termcap_exists" >> make.local
- echo "" >> make.local
- echo "" >> make.local
- echo "all : $TARGET" >> make.local
- cat >> make.local << EOF
- curses : ee.c
- cc ee.c -o ee \$(CFLAGS) -lcurses
- ee : ee.o new_curse.o
- cc -o ee ee.o new_curse.o \$(CFLAGS)
- ee.o : ee.c new_curse.h
- cc -c ee.c \$(DEFINES) \$(CFLAGS)
- new_curse.o : new_curse.c new_curse.h
- cc new_curse.c -c \$(DEFINES) \$(CFLAGS)
- EOF
- if [ -f make.lcl.old ]
- then
- diffs="`cmp make.lcl.old make.local`"
- if [ -n "${diffs}" ]
- then
- rm -f ee.o new_curse.o ee
- fi
- rm -f make.lcl.old
- fi