summaryrefslogtreecommitdiff
path: root/TAO/rules.tao.GNU
blob: 6553d3e4914a2293c9989b5832a963a2fe8442fa (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
#----------------------------------------------------------------------------
#
#       $Id$
#
#       Common rules for all of TAO
#
#----------------------------------------------------------------------------

####
#### Required macros for TAO.
####
ifndef TAO_ROOT
  TAO_ROOT = $(ACE_ROOT)/TAO
endif

ifndef TAO_IDL
  TAO_IDL = $(TAO_ROOT)/TAO_IDL/tao_idl
endif


####
#### Build customization.
####
ifndef TAO_ORBSVCS
  #### Please see docs/configurations.html#orbsvcs for documentation of
  #### TAO_ORBSVCS.
  TAO_ORBSVCS = Naming \
                Time \
                Log \
                Concurrency \
                LifeCycle \
                ImplRepo \
                Property \
                Trader \
                Sched \
                Event \
                CosEvent \
                AV \
		Event2
endif # TAO_ORBSVCS


####
#### Macro customization.
####
ifeq ($(findstring g++,$(CXX)),g++)
  ifeq ($(ACE_HAS_GNUG_PRE_2_8),1)
    #### g++ < 2.8 complains about unused parameters in generated code.
    CCFLAGS += -Wno-unused
  endif # g++ < 2.8

  ifneq ($(findstring egcs-2.91,$(shell $(CXX) --version)),)

    #### egcs 2.91.57 seems to go overboard:
    ####   DynAny_i.cpp:565: warning: `class TAO_DynAny_i * this' might be
    ####   used uninitialized in this function
    CCFLAGS += -Wno-uninitialized
  endif # egcs 2.91.x
endif # g++


####
#### Build rules.
####
.SUFFIXES:      S.h C.h S.i C.i S.cpp C.cpp

ifneq ($(use_flick),1)
%S.h %Ser.h %C.h %Cli.h %S.i %Ser.i  %C.i %Cli.i %S.cpp %Ser.cpp %C.cpp %Cli.cpp:       %.idl $(TAO_IDL)
	$(TAO_IDL) $(TAO_IDLFLAGS) $<
else
#### You can redefine the following in your platform_macros.GNU

ifndef SRCDIR
  SRCDIR  =       /project/doc/nanbor/mom
endif
ifndef OBJDIR
  OBJDIR  =       /project/doc/nanbor/dad
endif

CCFLAGS += -I$(OBJDIR)/runtime/headers -I$(SRCDIR)/runtime/headers # -g

CORBA_FE=$(OBJDIR)/bin/flick-fe-newcorba
CORBA_PG=$(OBJDIR)/bin/flick-c-pfe-corbaxx
CORBA_BE=$(OBJDIR)/bin/flick-c-pbe-iiopxx

%C.h %C.i %C.cpp: %.idl
	$(CORBA_FE) $< && \
	$(CORBA_PG) -c -o $*-client.prc $*.aoi && \
	$(CORBA_BE) $*-client.prc -o $*C.cpp -h $*C.h -f $*S.h && \
	echo > $*C.i

%S.h %S.i %S.cpp: %.idl
	$(CORBA_FE) $< && \
	$(CORBA_PG) -s -o $*-server.prc $*.aoi && \
	$(CORBA_BE) $*-server.prc --no_mu_stubs -o $*S.cpp -h $*S.h -F $*C.h && \
	echo > $*S.i && \
        echo > $*S_T.h && \
        echo > $*S_T.i && \
        echo > $*S_T.cpp

endif