XCOMM
XCOMM Imakefile pour Xtel
XCOMM
XCOMM Auteur : Pierre FICHEUX
XCOMM $Id: Imakefile,v 1.21 1996/11/21 16:27:11 pierre Exp $
XCOMM

#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
#define PassDependFlags 'DEPENDFLAGS=$(DEPENDFLAGS)'

#include "Config.tmpl"

BITMAPSDIR= bitmaps
PIXMAPSDIR= pixmaps
XTELDIR=$(LIBDIR)/xtel
WIDGETS=Widgets
LWIDGETS=-L$(WIDGETS) -l$(WIDGETS)
XSRA=Xsra
LXSRA=-L$(XSRA) -l$(XSRA)

#ifdef NO_NETWORK
NETWORKCFLAGS = -DNO_NETWORK
#endif

#ifdef NO_TERMIO
TERMIOCFLAGS = -DNO_TERMIO
#else
#if defined(USE_TERMIOS) || defined(__FreeBSD__)
TERMIOCFLAGS = -DUSE_TERMIOS
#endif
#endif

#ifdef NO_SEL_FILE
SELFILECFLAGS = -DNO_SEL_FILE
XSRA=
LXSRA=
#endif

#ifdef MOTIF
MOTIFCFLAGS= -DUSE_MOTIF
#endif

#ifdef LOW_MEMORY
LOWMCFLAGS= -DLOW_MEMORY
BITMAPSDIR=
PIXMAPSDIR=
WIDGETS=
LWIDGETS=
#endif

/* NO_XPM ==> LOW_MEMORY */
#if defined(NO_XPM)
    XPMLIB=
 XPMCFLAGS= -DNO_XPM
LOWMCFLAGS= -DLOW_MEMORY
BITMAPSDIR=
PIXMAPSDIR=
WIDGETS=
LWIDGETS=
#else
    XPMLIB= -lXpm
#endif

#ifdef SYSLOG
SYSLOGCFLAGS= -DUSE_SYSLOG
#endif

#ifdef NO_TVR
  TVRCFLAGS= -DNO_TVR
#else
    JPEGLIB= -ljpeg
#endif

#ifdef WINDAUBE
WINCFLAGS= -DWINDAUBE
#endif

#ifdef DEBUG_XTELD
XTELDFLAGS= -DDEBUG_XTELD
#endif

      XTELCFLAGS = $(NETWORKCFLAGS) $(TERMIOCFLAGS) $(SELFILECFLAGS) $(LOWMCFLAGS) $(XPMCFLAGS) $(MOTIFCFLAGS) $(SYSLOGCFLAGS) $(TVRCFLAGS) $(WINCFLAGS) $(XTELDFLAGS)

     DEPENDFLAGS = $(XTELCFLAGS)

      XTELLIGNES = xtel.lignes
    XTELSERVICES = xtel.services

CONF_DEFINES  = '-DFICHIER_DEFINITION_LIGNES="$(LIBDIR)/xtel/$(XTELLIGNES)"' \
		  '-DFICHIER_DEFINITION_SERVICES="$(LIBDIR)/xtel/$(XTELSERVICES)"'

TELE_DEFINES  = '-DXTERM_PATH="$(BINDIR)/xterm"'

XTELD_DEFINES = '-DFICHIER_LOG="$(LIBDIR)/xtel/xtel.log"'

#ifdef i386BsdArchitecture
DIAL_DEFINES = '-DFICHIER_LCK="/var/spool/lock/LCK..%s"' 
#else
#ifdef SVR4
DIAL_DEFINES = '-DFICHIER_LCK="/var/spool/locks/LK.%3.3lu.%3.3lu.%3.3lu"' 
EXTRA_LOAD_FLAGS = -L/usr/ucblib -lucb -lgen
#else
#ifdef LinuxArchitecture
DIAL_DEFINES = '-DFICHIER_LCK="/usr/spool/uucp/LCK..%s"' 
#else
DIAL_DEFINES = '-DFICHIER_LCK="/usr/spool/locks/LCK..%s"' 
#endif /* LinuxArchitecture */
#endif /* SVR4 */
#endif /* i386BsdArchitecture */

#ifdef PURE

PURIFY= purify
EXTRA_LOAD_FLAGS=
CDEBUGFLAGS= -g $(XTELCFLAGS)

#ifndef ComplexPurifyTarget
#define	ComplexPurifyTarget(program)					@@\
PROGRAM		= program						@@\
									@@\
pure:program								@@\
									@@\
program: $(OBJS) $(LOCAL_LIBRARIES)					@@\
	@echo "linking $@"						@@\
	-@if [ ! -w $@ ]; then $(RM) $@; else exit 0; fi		@@\
	$(PURIFY) $(CC) -o $@ $(OBJS) $(LDOPTIONS) $(LDLIBS) $(LDFLAGS) @@\
									@@\
									@@\
clean::									@@\
	$(RM) program
#endif /* ComplexPurifyTarget */
#else
CDEBUGFLAGS= -O $(XTELCFLAGS)
#endif /* PURE */

INCLUDES= -IWidgets -IVideotex

#ifdef MOTIF

    TOOLKITSRCS= xm.c
    TOOLKITOBJS= xm.o
    LDLIBS= -LVideotex -lVideotex $(LWIDGETS) $(JPEGLIB) -lXm $(XPMLIB) $(XTOOLLIB) $(XLIB) $(SYSLIBS) $(EXTRA_LIBRARIES) $(XMEXTRA_LIBS)

#else

    TOOLKITSRCS= xaw.c
    TOOLKITOBJS= xaw.o
    LDLIBS= -LVideotex -lVideotex $(LWIDGETS) $(JPEGLIB) $(LXSRA) $(XPMLIB) XawClientLibs $(EXTRA_LIBRARIES)
#endif

      XTELCSRCS= xtel.c ligne.c bouton.c inet.c imprime.c lecteur.c procedure.c \
			teleinfo.c copyright.c protocoles.c misc.c version.c

      XTELCOBJS= xtel.o ligne.o bouton.o inet.o imprime.o lecteur.o procedure.o \
			teleinfo.o copyright.o protocoles.o misc.o version.o

      DEMONSRCS= xteld.c config.c dial.c misc.c inet.c

      DEMONOBJS= xteld.o config.o dial.o misc.o inet.o

      SRCS     = $(XTELCSRCS) $(TOOLKITSRCS)
      OBJS     = $(XTELCOBJS) $(TOOLKITOBJS)

      HEADERS  = xtel.h demon.h patchlevel.h global.h

      PROGRAMS = xtel xteld
 
SUBDIRS= Videotex $(WIDGETS) $(XSRA) fonts $(BITMAPSDIR) $(PIXMAPSDIR)

#if !defined(MOTIF) && !defined(NO_SEL_FILE)
NamedMakeSubdirs(all, Xsra)
#endif
NamedMakeSubdirs(all, Videotex)
#if !(defined(NO_XPM) || defined(LOW_MEMORY))
NamedMakeSubdirs(all, Widgets)
#endif

Xtel:: 
	@echo ""
	@echo "Building Xtel"
	@echo ""
	@echo ""
	$(MAKE) Makefiles
	$(MAKE) clean
	$(MAKE) -k depend
	$(MAKE) $(WORLDOPTS)
	@echo ""
	@date
	@echo Xtel built suck cesse foule y
	@echo ""

AllTarget($(PROGRAMS))

depend:: $(SRCS) $(HEADERS)

#if defined(PURE) && defined(SparcArchitecture)
ComplexPurifyTarget(xtel)
#else
ComplexProgramTarget(xtel)
#endif

xteld : $(DEMONOBJS)
	$(CC) -o xteld $(DEMONOBJS) $(EXTRA_LIBRARIES)

$(DEMONOBJS): globald.h demon.h

clean::
	rm -f xteld

InstallManPage(xteld,$(MANDIR))

#ifdef INSTALLDEMON
InstallProgramWithFlags(xteld, $(BINDIR), $(INSTUIDFLAGS))

install::
	@if [ -r $(LIBDIR)/xtel/$(XTELLIGNES) ]; then \
	cp $(LIBDIR)/xtel/$(XTELLIGNES) $(LIBDIR)/xtel/$(XTELLIGNES).old; fi
	@if [ -r $(LIBDIR)/xtel/$(XTELSERVICES) ]; then \
	cp $(LIBDIR)/xtel/$(XTELSERVICES) $(LIBDIR)/xtel/$(XTELSERVICES).old; fi

InstallNonExecFile($(XTELLIGNES), $(LIBDIR)/xtel)
InstallNonExecFile($(XTELSERVICES), $(LIBDIR)/xtel)
#endif

SpecialObjectRule(teleinfo.o, teleinfo.c, $(TELE_DEFINES))
SpecialObjectRule(config.o, config.c, $(CONF_DEFINES))
SpecialObjectRule(dial.o, dial.c, $(DIAL_DEFINES))
SpecialObjectRule(xteld.o, xteld.c, $(XTELD_DEFINES))

#ifdef MOTIF
InstallAppDefaults(XTelm)
InstallAppDefaults(XTelm-msg)
#else
InstallAppDefaults(XTel)
InstallAppDefaults(XTel-msg)
#endif

NamedMakeSubdirs(all, fonts)
NamedTargetSubdirs(depend, $(SUBDIRS),"depending", PassDependFlags, depend)

