172fcea8cSEd Schouten#!/bin/sh 272fcea8cSEd Schouten 372fcea8cSEd Schouten# 472fcea8cSEd Schouten# This script will determine if the system is a System V or BSD based 572fcea8cSEd Schouten# UNIX system and create a makefile for ee appropriate for the system. 672fcea8cSEd Schouten# 7*96b676e9SEd Schouten# $Header: /home/hugh/sources/old_ae/RCS/create.make,v 1.13 2002/09/23 04:18:13 hugh Exp $ 872fcea8cSEd Schouten# 972fcea8cSEd Schouten 10*96b676e9SEd Schouten#set -x 11*96b676e9SEd Schouten 12*96b676e9SEd Schoutenname_string="`uname`" 13*96b676e9SEd Schouten 1472fcea8cSEd Schouten# test for existence of termcap (exists on both BSD and SysV systems) 1572fcea8cSEd Schouten 1672fcea8cSEd Schoutenif [ -f /etc/termcap -o -f /usr/share/lib/termcap -o -f /usr/share/misc/termcap ] 1772fcea8cSEd Schoutenthen 18*96b676e9SEd Schouten if [ -f /usr/share/lib/termcap ] 19*96b676e9SEd Schouten then 20*96b676e9SEd Schouten termcap_exists="-DTERMCAP=\"\\\"/usr/share/lib/termcap\\\"\"" 21*96b676e9SEd Schouten elif [ -f /usr/share/misc/termcap ] 22*96b676e9SEd Schouten then 23*96b676e9SEd Schouten termcap_exists="-DTERMCAP=\"\\\"/usr/share/misc/termcap\\\"\"" 24*96b676e9SEd Schouten elif [ -f /etc/termcap ] 25*96b676e9SEd Schouten then 26*96b676e9SEd Schouten termcap_exists="-DTERMCAP=\"\\\"/etc/termcap\\\"\"" 27*96b676e9SEd Schouten fi 2872fcea8cSEd Schoutenelse 2972fcea8cSEd Schouten termcap_exists="" 3072fcea8cSEd Schoutenfi 3172fcea8cSEd Schouten 3272fcea8cSEd Schouten# test for terminfo directory (exists on SysV systems) 3372fcea8cSEd Schouten 3472fcea8cSEd Schoutenif [ -d /usr/lib/terminfo -o -d /usr/share/lib/terminfo -o -d /usr/share/terminfo ] 3572fcea8cSEd Schoutenthen 3672fcea8cSEd Schouten terminfo_exists="" 3772fcea8cSEd Schoutenelse 3872fcea8cSEd Schouten terminfo_exists="-DCAP" 3972fcea8cSEd Schoutenfi 4072fcea8cSEd Schouten 4172fcea8cSEd Schouten# test for existence of termio header (on SysV systems) 4272fcea8cSEd Schouten 4372fcea8cSEd Schoutenif [ -f /usr/include/termio.h ] 4472fcea8cSEd Schoutenthen 4572fcea8cSEd Schouten termio="-DSYS5" 4672fcea8cSEd Schoutenelse 4772fcea8cSEd Schouten termio="" 4872fcea8cSEd Schoutenfi 4972fcea8cSEd Schouten 5072fcea8cSEd Schouten# test for sgtty header (on BSD systems) 5172fcea8cSEd Schouten 5272fcea8cSEd Schoutenif [ -f /usr/include/sgtty.h ] 5372fcea8cSEd Schoutenthen 5472fcea8cSEd Schouten sgtty="TRUE" 5572fcea8cSEd Schoutenelse 5672fcea8cSEd Schouten sgtty="" 5772fcea8cSEd Schoutenfi 5872fcea8cSEd Schouten 5972fcea8cSEd Schouten# look for select call in headers, make sure headers exist 6072fcea8cSEd Schouten 6172fcea8cSEd SchoutenHEADER_FILES="" 6272fcea8cSEd Schouten 6372fcea8cSEd Schoutenif [ -f /usr/include/sys/time.h ] 6472fcea8cSEd Schoutenthen 6572fcea8cSEd Schouten HEADER_FILES="/usr/include/sys/time.h " 6672fcea8cSEd Schoutenfi 6772fcea8cSEd Schouten 6872fcea8cSEd Schoutenif [ -f /usr/include/sys/types.h ] 6972fcea8cSEd Schoutenthen 7072fcea8cSEd Schouten HEADER_FILES="$HEADER_FILES /usr/include/sys/types.h" 7172fcea8cSEd Schoutenfi 7272fcea8cSEd Schouten 7372fcea8cSEd Schouten# check for unistd.h 7472fcea8cSEd Schouten 7572fcea8cSEd Schoutenif [ -f /usr/include/unistd.h ] 7672fcea8cSEd Schoutenthen 7772fcea8cSEd Schouten HAS_UNISTD=-DHAS_UNISTD 7872fcea8cSEd Schouten HEADER_FILES="$HEADER_FILES /usr/include/unistd.h" 7972fcea8cSEd Schoutenelse 8072fcea8cSEd Schouten HAS_UNISTD="" 8172fcea8cSEd Schoutenfi 8272fcea8cSEd Schouten 8372fcea8cSEd Schoutenif [ -n "$HEADER_FILES" ] 8472fcea8cSEd Schoutenthen 8572fcea8cSEd Schouten string="`grep select $HEADER_FILES`" 8672fcea8cSEd Schouten if [ -n "$string" ] 8772fcea8cSEd Schouten then 8872fcea8cSEd Schouten BSD_SELECT="-DBSD_SELECT" 8972fcea8cSEd Schouten else 9072fcea8cSEd Schouten BSD_SELECT="" 9172fcea8cSEd Schouten fi 9272fcea8cSEd Schoutenfi 9372fcea8cSEd Schouten 9472fcea8cSEd Schouten# check for existence of select.h (on AIX) 9572fcea8cSEd Schouten 9672fcea8cSEd Schoutenif [ -f /usr/include/sys/select.h ] 9772fcea8cSEd Schoutenthen 9872fcea8cSEd Schouten select_hdr="-DSLCT_HDR" 9972fcea8cSEd Schoutenelse 10072fcea8cSEd Schouten select_hdr="" 10172fcea8cSEd Schoutenfi 10272fcea8cSEd Schouten 10372fcea8cSEd Schouten# check for stdlib.h 10472fcea8cSEd Schouten 10572fcea8cSEd Schoutenif [ -f /usr/include/stdlib.h ] 10672fcea8cSEd Schoutenthen 10772fcea8cSEd Schouten HAS_STDLIB=-DHAS_STDLIB 10872fcea8cSEd Schoutenelse 10972fcea8cSEd Schouten HAS_STDLIB="" 11072fcea8cSEd Schoutenfi 11172fcea8cSEd Schouten 11272fcea8cSEd Schouten# check for stdarg.h 11372fcea8cSEd Schouten 11472fcea8cSEd Schoutenif [ -f /usr/include/stdarg.h ] 11572fcea8cSEd Schoutenthen 11672fcea8cSEd Schouten HAS_STDARG=-DHAS_STDARG 11772fcea8cSEd Schoutenelse 11872fcea8cSEd Schouten HAS_STDARG="" 11972fcea8cSEd Schoutenfi 12072fcea8cSEd Schouten 12172fcea8cSEd Schouten# check for ctype.h 12272fcea8cSEd Schouten 12372fcea8cSEd Schoutenif [ -f /usr/include/ctype.h ] 12472fcea8cSEd Schoutenthen 12572fcea8cSEd Schouten HAS_CTYPE=-DHAS_CTYPE 12672fcea8cSEd Schoutenelse 12772fcea8cSEd Schouten HAS_CTYPE="" 12872fcea8cSEd Schoutenfi 12972fcea8cSEd Schouten 13072fcea8cSEd Schouten# check for sys/ioctl.h 13172fcea8cSEd Schouten 13272fcea8cSEd Schoutenif [ -f /usr/include/sys/ioctl.h ] 13372fcea8cSEd Schoutenthen 13472fcea8cSEd Schouten HAS_SYS_IOCTL=-DHAS_SYS_IOCTL 13572fcea8cSEd Schoutenelse 13672fcea8cSEd Schouten HAS_SYS_IOCTL="" 13772fcea8cSEd Schoutenfi 13872fcea8cSEd Schouten 13972fcea8cSEd Schouten# check for sys/wait.h 14072fcea8cSEd Schouten 14172fcea8cSEd Schoutenif [ -f /usr/include/sys/wait.h ] 14272fcea8cSEd Schoutenthen 14372fcea8cSEd Schouten HAS_SYS_WAIT=-DHAS_SYS_WAIT 14472fcea8cSEd Schoutenelse 14572fcea8cSEd Schouten HAS_SYS_WAIT="" 14672fcea8cSEd Schoutenfi 14772fcea8cSEd Schouten 14872fcea8cSEd Schouten# check for localization headers 14972fcea8cSEd Schouten 15072fcea8cSEd Schoutenif [ -f /usr/include/locale.h -a -f /usr/include/nl_types.h ] 15172fcea8cSEd Schoutenthen 15272fcea8cSEd Schouten catgets="" 15372fcea8cSEd Schoutenelse 15472fcea8cSEd Schouten catgets="-DNO_CATGETS" 15572fcea8cSEd Schoutenfi 15672fcea8cSEd Schouten 15772fcea8cSEd Schouten# make decisions about use of new_curse.c (use of new_curse is recommended 15872fcea8cSEd Schouten# rather than local curses) 15972fcea8cSEd Schouten 16072fcea8cSEd Schoutenif [ -n "$terminfo_exists" -a -z "$termcap_exists" ] 16172fcea8cSEd Schoutenthen 16272fcea8cSEd Schouten echo "Neither terminfo or termcap are on this system! " 16372fcea8cSEd Schouten if [ -f /usr/include/curses.h ] 16472fcea8cSEd Schouten then 16572fcea8cSEd Schouten echo "Relying on local curses implementation." 16672fcea8cSEd Schouten else 16772fcea8cSEd Schouten cat <<-EOF 16872fcea8cSEd Schouten Don't know where to find curses, you'll need to modify 16972fcea8cSEd Schouten source code to be able to build! 17072fcea8cSEd Schouten 17172fcea8cSEd Schouten Modify the file make.default and build ee by typing: 17272fcea8cSEd Schouten 17372fcea8cSEd Schouten make -f make.default 17472fcea8cSEd Schouten 17572fcea8cSEd Schouten EOF 17672fcea8cSEd Schouten 17772fcea8cSEd Schouten exit 1 17872fcea8cSEd Schouten fi 17972fcea8cSEd Schouten 18072fcea8cSEd Schouten TARGET="curses" 18172fcea8cSEd Schouten curses="" 18272fcea8cSEd Schoutenelse 18372fcea8cSEd Schouten curses="-DNCURSE" 18472fcea8cSEd Schouten TARGET="ee" 18572fcea8cSEd Schoutenfi 18672fcea8cSEd Schouten 18772fcea8cSEd Schoutenif [ -z "$termio" -a -z "$sgtty" ] 18872fcea8cSEd Schoutenthen 18972fcea8cSEd Schouten echo "Neither termio.h or sgtty.h are on this system! " 19072fcea8cSEd Schouten if [ -f /usr/include/curses.h ] 19172fcea8cSEd Schouten then 19272fcea8cSEd Schouten echo "Relying on local curses implementation." 19372fcea8cSEd Schouten else 19472fcea8cSEd Schouten cat <<-EOF 19572fcea8cSEd Schouten Don't know where to find curses, you'll need to modify 19672fcea8cSEd Schouten source code to be able to build! 19772fcea8cSEd Schouten 19872fcea8cSEd Schouten Modify the file make.default and build ee by typing: 19972fcea8cSEd Schouten 20072fcea8cSEd Schouten make -f make.default 20172fcea8cSEd Schouten 20272fcea8cSEd Schouten EOF 20372fcea8cSEd Schouten 20472fcea8cSEd Schouten exit 1 20572fcea8cSEd Schouten fi 20672fcea8cSEd Schouten 20772fcea8cSEd Schouten TARGET="curses" 20872fcea8cSEd Schouten curses="" 20972fcea8cSEd Schoutenfi 21072fcea8cSEd Schouten 21172fcea8cSEd Schouten# check if this is a SunOS system 21272fcea8cSEd Schouten 21372fcea8cSEd Schoutenif [ -d /usr/5include ] 21472fcea8cSEd Schoutenthen 21572fcea8cSEd Schouten five_include="-I/usr/5include" 21672fcea8cSEd Schoutenelse 21772fcea8cSEd Schouten five_include="" 21872fcea8cSEd Schoutenfi 21972fcea8cSEd Schouten 22072fcea8cSEd Schoutenif [ -d /usr/5lib ] 22172fcea8cSEd Schoutenthen 22272fcea8cSEd Schouten five_lib="-L/usr/5lib" 22372fcea8cSEd Schoutenelse 22472fcea8cSEd Schouten five_lib="" 22572fcea8cSEd Schoutenfi 22672fcea8cSEd Schouten 22772fcea8cSEd Schouten 228*96b676e9SEd Schoutenif [ "$name_string" = "Darwin" ] 229*96b676e9SEd Schoutenthen 230*96b676e9SEd Schouten if [ -n "$CFLAGS" ] 231*96b676e9SEd Schouten then 232*96b676e9SEd Schouten other_cflags="${CFLAGS} -DNO_CATGETS" 233*96b676e9SEd Schouten else 234*96b676e9SEd Schouten other_cflags="-DNO_CATGETS" 235*96b676e9SEd Schouten fi 236*96b676e9SEd Schoutenelse 237*96b676e9SEd Schouten 23872fcea8cSEd Schouten if [ -n "$CFLAGS" ] 23972fcea8cSEd Schouten then 24072fcea8cSEd Schouten if [ -z "`echo $CFLAGS | grep '[-]g'`" ] 24172fcea8cSEd Schouten then 24272fcea8cSEd Schouten other_cflags="${CFLAGS} -s" 24372fcea8cSEd Schouten else 24472fcea8cSEd Schouten other_cflags="${CFLAGS}" 24572fcea8cSEd Schouten fi 24672fcea8cSEd Schouten else 24772fcea8cSEd Schouten other_cflags="-s" 24872fcea8cSEd Schouten fi 249*96b676e9SEd Schoutenfi 25072fcea8cSEd Schouten 25172fcea8cSEd Schouten# time to write the makefile 25272fcea8cSEd Schouten 25372fcea8cSEd Schoutenecho "Generating make.local" 25472fcea8cSEd Schouten 25572fcea8cSEd Schoutenif [ -f make.local ] 25672fcea8cSEd Schoutenthen 25772fcea8cSEd Schouten mv make.local make.lcl.old 25872fcea8cSEd Schoutenfi 25972fcea8cSEd Schouten 26072fcea8cSEd Schoutenecho "DEFINES = $termio $terminfo_exists $BSD_SELECT $catgets $select $curses " > make.local 26172fcea8cSEd Schoutenecho "" >> make.local 262*96b676e9SEd Schoutenecho "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 26372fcea8cSEd Schoutenecho "" >> make.local 26472fcea8cSEd Schoutenecho "" >> make.local 26572fcea8cSEd Schoutenecho "all : $TARGET" >> make.local 26672fcea8cSEd Schouten 26772fcea8cSEd Schoutencat >> make.local << EOF 26872fcea8cSEd Schouten 26972fcea8cSEd Schoutencurses : ee.c 27072fcea8cSEd Schouten cc ee.c -o ee \$(CFLAGS) -lcurses 27172fcea8cSEd Schouten 27272fcea8cSEd Schoutenee : ee.o new_curse.o 27372fcea8cSEd Schouten cc -o ee ee.o new_curse.o \$(CFLAGS) 27472fcea8cSEd Schouten 27572fcea8cSEd Schoutenee.o : ee.c new_curse.h 27672fcea8cSEd Schouten cc -c ee.c \$(DEFINES) \$(CFLAGS) 27772fcea8cSEd Schouten 27872fcea8cSEd Schoutennew_curse.o : new_curse.c new_curse.h 27972fcea8cSEd Schouten cc new_curse.c -c \$(DEFINES) \$(CFLAGS) 28072fcea8cSEd Schouten 28172fcea8cSEd SchoutenEOF 28272fcea8cSEd Schouten 28372fcea8cSEd Schoutenif [ -f make.lcl.old ] 28472fcea8cSEd Schoutenthen 28572fcea8cSEd Schouten diffs="`cmp make.lcl.old make.local`" 28672fcea8cSEd Schouten if [ -n "${diffs}" ] 28772fcea8cSEd Schouten then 28872fcea8cSEd Schouten rm -f ee.o new_curse.o ee 28972fcea8cSEd Schouten fi 29072fcea8cSEd Schouten rm -f make.lcl.old 29172fcea8cSEd Schoutenfi 29272fcea8cSEd Schouten 293