summaryrefslogtreecommitdiff
path: root/comm/Imakefile
blob: ee868329832d436fea17f1518cd7db750cfec254 (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
#
#	The Unix Channel
#	
#	by Michel Beaudouin-Lafon
#
#	Copyright 1990-1993
#	Laboratoire de Recherche en Informatique (LRI)
#
#	Imakefile
#
#	$Id$
#	$CurLog$
#

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

            cc = $(CXXSUFFIX)
           SRC =  error.$(cc) MsgBuffer.$(cc) Message.$(cc) Channel.$(cc) \
		TimeOut.$(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) \
		PortServer.$(cc) PortServerReq.$(cc)

           HDR = error.h MsgBuffer.h Message.h Channel.h TimeOut.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 PortServer.h


       UCHOBJ =  error.o MsgBuffer.o Message.o Channel.o TimeOut.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 \
		PortServer.o PortServerReq.o

       CHANOBJ =  error.o MsgBuffer.o Message.o Channel.o Multiplexer.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/Time.h $(LOCINCL)/ccu/Timer.h\
		global.h error.h MsgBuffer.h Message.h \
		Channel.h Multiplexer.h TimeOut.h \
		Address.h Socket.h Datagram.h Stream.h MsgStream.h dgram.h \
		Event.h Server.h Service.h Agent.h TextStream.h PortServer.h

       CHANHDR = version.h \
		$(LOCINCL)/ccu/bool.h \
		$(LOCINCL)/ccu/word.h \
		$(LOCINCL)/ccu/SmartPointer.h  $(LOCINCL)/ccu/List.h \
		$(LOCINCL)/ccu/Time.h $(LOCINCL)/ccu/Timer.h\
		global.h error.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 $(LOCINCL)/uch.h

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

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

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

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

ProgramTarget (portserv, portserv.o, libUch.a)
ProgramTarget (porttest, porttest.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))

CopyLibsTarget ($(LOCLIB),Uch)
CopyLibsTarget ($(LOCLIB),Chan)

CopyTarget ($(LOCINCL)/uch.h, uch.h)
CopyTarget ($(LOCINCL)/chan.h, chan.h)
CopyTarget ($(LOCBIN)/portserv, portserv)
CopyTarget ($(LOCBIN)/porttest, porttest)

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