summaryrefslogtreecommitdiff
path: root/comm/Imakefile
blob: ff044436b00b00bd799114762b0887acf7e1467a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#
#	The Unix Channel
#	
#	by Michel Beaudouin-Lafon and Stephane Chatty
#
#	Copyright 1990-1996
#	Laboratoire de Recherche en Informatique (LRI)
#	Centre d'Etudes de la navigation Aerienne
#
#	Imakefile
#
#	$Id$
#	$CurLog$
#

      CXXFLAGS = $(CXXOPTIONS) -I. -I$(LOCINCL) -DUNIX_SOCK

            cc = $(CXXSUFFIX)
           SRC =  error.$(cc) IOS.$(cc) MsgBuffer.$(cc) Message.$(cc) Channel.$(cc) \
		TimeOut.$(cc) SignalHandler.$(cc) Multiplexer.$(cc) Address.$(cc) \
		Socket.$(cc) Datagram.$(cc) Stream.$(cc) MsgStream.$(cc) dgram.$(cc) \
		Event.$(cc) Server.$(cc) Service.$(cc) Agent.$(cc) \
		TextStream.$(cc) TextServer.$(cc) \
		PortServer.$(cc) PortServerReq.$(cc)

           HDR = error.h IOS.h MsgBuffer.h Message.h Channel.h \
		TimeOut.h SignalHandler.h Multiplexer.h \
		Address.h Socket.h Datagram.h Stream.h MsgStream.h dgram.h \
		Event.h Server.h Service.h Agent.h TextStream.h TextServer.h PortServer.h


       UCHOBJ =  error.o IOS.o MsgBuffer.o Message.o Channel.o \
		TimeOut.o SignalHandler.o Multiplexer.o \
		Address.o Socket.o Datagram.o Stream.o MsgStream.o dgram.o \
		Event.o Server.o Service.o Agent.o \
		TextStream.o TextServer.o \
		PortServer.o PortServerReq.o

       CHANOBJ =  error.o IOS.o MsgBuffer.o Message.o Channel.o \
		Multiplexer.o TimeOut.o SignalHandler.o

       UCHHDR = version.h \
		$(LOCINCL)/ccu/SmartPointer.h $(LOCINCL)/ccu/List.h \
		$(LOCINCL)/ccu/bool.h \
		$(LOCINCL)/ccu/word.h $(LOCINCL)/ccu/IdTable.h \
		$(LOCINCL)/ccu/String.h \
		$(LOCINCL)/ccu/Signal.h \
		$(LOCINCL)/ccu/Time.h $(LOCINCL)/ccu/Timer.h\
		global.h error.h IOS.h MsgBuffer.h Message.h \
		Channel.h Multiplexer.h TimeOut.h SignalHandler.h \
		Address.h Socket.h Datagram.h Stream.h MsgStream.h dgram.h \
		Event.h Server.h Service.h Agent.h TextStream.h TextServer.h PortServer.h

       CHANHDR = version.h \
		$(LOCINCL)/ccu/bool.h \
		$(LOCINCL)/ccu/word.h \
		$(LOCINCL)/ccu/SmartPointer.h  $(LOCINCL)/ccu/List.h \
		$(LOCINCL)/ccu/Signal.h \
		$(LOCINCL)/ccu/Time.h $(LOCINCL)/ccu/Timer.h \
		global.h error.h IOS.h MsgBuffer.h Message.h \
		Channel.h Multiplexer.h

           LLIB = $(LOCLIB)/libCcu.a

        LEX = lex
       YACC = yacc	# or bison -y

           DOC = ../../DOC/UCH
      DISTRDOC = ../../DOC.distr

CxxRule ()

# default target is 'chan' or 'chan comm'
all	: UchTarget

comm	: $(LOCLIB)/libUch.a $(LOCBIN)/portserv $(LOCBIN)/porttest \
		$(LOCBIN)/reqgen $(LOCBIN)/tellagent $(LOCINCL)/uch.h

chan	: $(LOCLIB)/libChan.a $(LOCINCL)/chan.h

local	: libUch.a libChan.a uch.h chan.h portserv porttest reqgen tellagent

LibraryTarget (Uch, $(UCHOBJ))
LibraryTarget (Chan, $(CHANOBJ))

YaccTarget (ReqMgr,ReqMgr.yacc,Uch_)
LexTarget (ReqMgr,ReqMgr.lex,Uch_)
ReqMgr.lex.o: ReqMgr.lex.cc ReqMgr.yacc.h

ProgramTarget (portserv, portserv.o, libUch.a)
ProgramTarget (porttest, porttest.o, libUch.a)
ProgramTarget (tellagent, tellagent.o, libUch.a)
ProgramTarget (test, test.o, libUch.a)
ProgramTarget (reqgen, reqgen.o ReqMgr.o ReqMgr.yacc.o ReqMgr.lex.o, )

GenHeaderTarget (uch.h, $(UCHHDR))
GenHeaderTarget (chan.h, $(CHANHDR))

InstallLibsTarget ($(LOCLIB),Uch)
InstallLibsTarget ($(LOCLIB),Chan)

InstallTarget ($(LOCINCL)/uch.h, uch.h)
InstallTarget ($(LOCINCL)/chan.h, chan.h)
InstallProgramTarget ($(LOCBIN)/portserv, portserv)
InstallProgramTarget ($(LOCBIN)/porttest, porttest)
InstallProgramTarget ($(LOCBIN)/tellagent, tellagent)
InstallProgramTarget ($(LOCBIN)/reqgen, reqgen)

DocRule ("The Unix Channel")
TeXRule ()
DistrDocRule (UCH)