/*{{{  possible switches*/
/*
   Use the following configuration symbols to generate a makefile for
   your system with "/usr/lib/cpp -DCONFIG Makefile.cpp >Makefile"

     SUNOS_GCC
     HPUX_ANSI
     LINUX
   Set the variables for unproto to your version of it.
     SUNOS_UNPROTO_CC
     HPUX_UNPROTO
   The following defines are not tested. This version must be compiled with
   ANSI-cc or with uncompile!
     MINIX_BCCi386  (untested)
     MINIX_GCCi386  (untested)
     MIPS           (untested)
*/
/*}}}  */
/*{{{  SUNOS*/
/*{{{  UNPROTO_CC*/
#ifdef SUNOS_UNPROTO_CC
AWK=            awk
CC=             cc
CPP=		unproto
CPPFLAGS=       -I.. -D_POSIX_SOURCE
CFLAGS=         -O
LDFLAGS=
LIBS=
O=              o
#ifndef ORIGAMI_PATH
ORIGAMI_PATH=   $(HOME)/origami
#endif
#ifndef BIN_PATH
BIN_PATH=       $(HOME)/bin$(ARCHITECTURE)
#endif
.c.o:
		$(CPP) $(CPPFLAGS) <$< >$*.kr.c
		$(CC) $(CFLAGS) -c -o $@ $*.kr.c
		rm $*.kr.c
#endif
/*}}}  */
/*{{{  GCC*/
#ifdef SUNOS_GCC
AWK=            awk
CC=             gcc
CFLAGS=         -O -ansi -pedantic -Wall -I.. -D_POSIX_MAX_PATH_LEN=256 \
		-D_POSIX_SOURCE
LDFLAGS=
LIBS=           -ltermcap
O=              o
#ifndef ORIGAMI_PATH
ORIGAMI_PATH=   $(HOME)/origami
#endif
#ifndef BIN_PATH
BIN_PATH=       $(HOME)/bin$(ARCHITECTURE)
#endif
#endif
/*}}}  */
/*}}}  */
/*{{{  HPUX*/
/*{{{  HPUX_UNPROTO*/
#ifdef HPUX_UNPROTO
AWK=            awk
CPP=		unproto
CC=             cc
CPPFLAGS=       -I.. -D_POSIX_SOURCE
CFLAGS=         -O
LDFLAGS=
LIBS=
O=              o
#ifndef ORIGAMI_PATH
ORIGAMI_PATH=   $(HOME)/origami
#endif
#ifndef BIN_PATH
BIN_PATH=       $(HOME)/bin$(ARCHITECTURE)
#endif
.c.o:
		$(CPP) $(CPPFLAGS) <$< >$*.kr.c
		$(CC) $(CFLAGS) -c -o $@ $*.kr.c
		rm $*.kr.c
#endif
/*}}}  */
/*{{{  HPUX_ANSI*/
#ifdef HPUX_ANSI
AWK=            awk
CC=             cc
CFLAGS=         -Aa +O3 -I.. -D_POSIX_SOURCE
LDFLAGS=
LIBS=
O=              o
#ifndef ORIGAMI_PATH
ORIGAMI_PATH=   $(HOME)/origami
#endif
#ifndef BIN_PATH
BIN_PATH=       $(HOME)/bin$(ARCHITECTURE)
#endif
#endif
/*}}}  */
/*{{{  HPUX_GCC*/
#ifdef HPUX_GCC
AWK=            awk
CC=             gcc
CFLAGS=         -O -ansi -pedantic -I.. -D_POSIX_SOURCE
LDFLAGS=
LIBS=
O=              o
#ifndef ORIGAMI_PATH
ORIGAMI_PATH=   $(HOME)/origami
#endif
#ifndef BIN_PATH
BIN_PATH=       $(HOME)/bin$(ARCHITECTURE)
#endif
#endif
/*}}}  */
/*}}}  */
/*{{{  LINUX*/
#ifdef LINUX
AWK=            gawk
CC=             gcc
CFLAGS=         -Wall -I.. -D_POSIX_SOURCE
LDFLAGS=
LIBS=
O=              o
#ifndef ORIGAMI_PATH
ORIGAMI_PATH=   /usr/local/origami
#endif
#ifndef BIN_PATH
BIN_PATH=       /usr/local/bin
#endif
#endif
/*}}}  */
/*{{{  MINIX*/
/*{{{  BCCi386*/
#ifdef MINIX_BCCi386
AWK=            bawk
CC=             bcc -3
CFLAGS=         -O -D_MINIX -D_POSIX_SOURCE
LDFLAGS=
LIBS=
O=              o
#ifndef ORIGAMI_PATH
ORIGAMI_PATH=   /usr/local/origami
#endif
#ifndef BIN_PATH
BIN_PATH=       /usr/local/bin
#endif
#endif
/*}}}  */
/*{{{  GCCi386*/
#ifdef MINIX_GCCi386
AWK=            bawk
CC=             gcc
CFLAGS=         -O -D_MINIX -D_POSIX_SOURCE -ansi -pedantic \
		-Wall -DWARNALL
LDFLAGS=
LIBS=
O=              o
#ifndef ORIGAMI_PATH
ORIGAMI_PATH=   /usr/local/origami
#endif
#ifndef BIN_PATH
BIN_PATH=       /usr/local/bin
#endif
#endif
/*}}}  */
/*}}}  */
/*{{{  MIPS*/
#ifdef MIPS
AWK=            awk
CC=             /posix/bin/cc
CFLAGS=         -I.. -O -D_POSIX_SOURCE
LDFLAGS=
LIBS=
O=              o
#ifndef ORIGAMI_PATH
ORIGAMI_PATH=   $(HOME)/origami
#endif
#ifndef BIN_PATH
BIN_PATH=       $(HOME)/bin
#endif
#endif
/*}}}  */

HDRS=           viewrc.h ../h/os.h ../h/token.h ../h/envvar_str.h

OBJS=           main.$O text.$O

viewrc:         $(OBJS)
		$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)

main.$O:        name.h ../h/rcformat.h codelg.h

name.h:         ../h/tokens tok2h.awk
		$(AWK) -f tok2h.awk ../h/tokens >name.h

$(OBJS):        $(HDRS)

../h/token.h:   ../h/tokens ../h/tok2h.awk
		$(AWK) -f ../h/tok2h.awk ../h/tokens >../h/token.h

codelg.h:	../h/tokens tok2lg.awk
		$(AWK) -f tok2lg.awk ../h/tokens >codelg.h

install:        viewrc
		install -d $(BIN_PATH)
		install -s viewrc $(BIN_PATH)

deinstall:
		rm -f $(BIN_PATH)/bin/viewrc

clean:
		rm -f core codelg.h symbol.out err.out $(OBJS) *.kr.c

clobber:        clean
		rm -f viewrc Makefile ../h/token.h name.h
