Link with C++ linker
[oweals/cde.git] / cde / programs / dtsession / Imakefile
1 XCOMM $TOG: Imakefile /main/22 1998/04/06 13:33:41 mgreess $
2
3         DEFINES = -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
4                   -DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\"
5
6 #if defined(SunArchitecture)
7 DEPLIBS = $(DEPDTWIDGETLIB) $(DEPDTSVCLIB) $(DEPTTLIB) \
8                   $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXLIB)
9 LOCAL_LIBRARIES = $(DTWIDGETLIB) $(DTSVCLIB) $(TTLIB) \
10                   $(XMLIB) $(XTOOLLIB) $(USE_XHPLIB) $(XLIB)
11 #else
12 DEPLIBS = $(DEPDTHELPLIB) $(DEPDTWIDGETLIB) $(DEPDTSVCLIB) $(DEPTTLIB) \
13                   $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXLIB)
14 LOCAL_LIBRARIES = $(DTHELPLIB) $(DTWIDGETLIB) $(DTSVCLIB) $(TTLIB) \
15                   $(XMLIB) $(XTOOLLIB) $(USE_XHPLIB) $(XLIB)
16 #endif /* SunArchitecture */
17 SYS_LIBRARIES = -lm
18
19
20 #ifdef AlphaArchitecture
21 SYS_LIBRARIES = -lm
22 EXTRA_DEFINES = -DMULTIBYTE -DXLIB_ILLEGAL_ACCESS -DSIA
23 #endif
24
25 #ifdef HPArchitecture
26 EXTRA_DEFINES = -DMULTIBYTE -DUSE_HPSSEXT
27 USE_XHPLIB = $(XHPLIB)
28 #endif
29
30 #if defined(RsArchitecture)
31 EXTRA_DEFINES = -D_ILS_MACROS -DSBSTDINC_H_NO_REDEFINE
32 SYS_LIBRARIES = -lm -lbsd -ls -liconv
33 #if (OSMajorVersion == 3)
34 EXTRA_SRC = SmHftRing.c SmMigResources.c
35 EXTRA_OBJS = $(ALTDIRECTORY)SmHftRing.o $(ALTDIRECTORY)SmMigResources.o
36 #else
37 EXTRA_SRC = SmMigResources.c
38 EXTRA_OBJS = $(ALTDIRECTORY)SmMigResources.o
39 #endif
40 #endif
41
42 #if defined(SCOArchitecture) || defined(LinuxArchitecture)
43 SYS_LIBRARIES = -lcrypt -lm
44 #endif
45
46 #if defined(SunArchitecture)
47 EXTRA_SRC = OWsync.c
48 EXTRA_OBJS = $(ALTDIRECTORY)OWsync.o
49 EXTRA_DEFINES = -D${PROGRAMS}
50 SYS_LIBRARIES = -lelf -lm -ldl
51 #endif
52
53 #if defined(USLArchitecture)
54 /* not needed for archive. usl shared libs must resolve every
55  * reference whether used or not.
56  */
57 SYS_LIBRARIES = -lelf -lm -ldl -lgen -liaf
58 PROTO_DEFINES =
59 DEFINES = -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
60           -DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\"
61 #endif
62
63 #if defined(UXPArchitecture)
64 /* not needed for archive. usl shared libs must resolve every
65  * reference whether used or not.
66  */
67 SYS_LIBRARIES = -lelf -lm -ldl -lgen
68 #endif
69
70 XCOMM On Linux once you link against a C++ library the whole program
71 XCOMM has to be linked with the C++ linker
72 #if defined(LinuxDistribution)
73 CCLINK = $(CXX)
74 #endif
75
76 PROGRAMS=dtsession
77
78 /**** Every .o except version.o may only be built in a remote
79  **** directory as we do with rgy -> $(ALTDIRECTORY)
80  ****/
81 OBJS=   $(ALTDIRECTORY)SmMain.o \
82         $(ALTDIRECTORY)SmGlobals.o \
83         $(ALTDIRECTORY)SmHelp.o \
84         $(ALTDIRECTORY)SmCommun.o \
85         $(ALTDIRECTORY)SmError.o \
86         $(ALTDIRECTORY)SmProperty.o \
87         $(ALTDIRECTORY)SmProtocol.o \
88         $(ALTDIRECTORY)SmSave.o \
89         $(ALTDIRECTORY)SmScreen.o \
90         $(ALTDIRECTORY)SmRestore.o \
91         $(ALTDIRECTORY)SmUI.o \
92         $(ALTDIRECTORY)SmWindow.o \
93         $(ALTDIRECTORY)SmLock.o \
94         $(ALTDIRECTORY)SrvPalette.o\
95         $(ALTDIRECTORY)SrvFile_io.o\
96         $(ALTDIRECTORY)SmStrDefs.o \
97         $(ALTDIRECTORY)SmConMgmt.o \
98         $(EXTRA_OBJS) \
99         $(ALTDIRECTORY)SmXSMP.o \
100         $(ALTDIRECTORY)SmAuth.o \
101         $(ALTDIRECTORY)SmWatch.o \
102         $(ALTDIRECTORY)SmProp.o \
103         $(ALTDIRECTORY)SmDB.o \
104         version.o
105
106 SRCS=   SmMain.c \
107         SmHelp.c \
108         SmGlobals.c \
109         SmCommun.c \
110         SmError.c \
111         SmProperty.c \
112         SmProtocol.c \
113         SmSave.c \
114         SmScreen.c \
115         SmRestore.c \
116         SmUI.c \
117         SmWindow.c \
118         SmLock.c \
119         SrvPalette.c\
120         SrvFile_io.c\
121         SmStrDefs.c \
122         SmConMgmt.c \
123         $(EXTRA_SRC) \
124         SmXSMP.c \
125         SmAuth.c \
126         SmWatch.c \
127         SmProp.c \
128         SmDB.c \
129         version.c
130
131 /**************************************************************************
132  *
133  *  Extra things for the Passwd Etc. version
134  *
135  **************************************************************************/
136
137 #ifdef USE_RGY
138       EXTRA_DEFINES = -DMULTIBYTE -DUSE_HPSSEXT -D__PASSWD_ETC +e
139     EXTRA_LIBRARIES = $(RGYLIB) $(NCKLIB) -lndbm -lBSD ExtraLibraries
140 #endif
141
142
143 /******* RGY or KRB CASE *******************************/
144 #if (defined(USE_KRB) || defined(USE_RGY)) && defined(HPArchitecture)
145 /*******************************************************/
146 ALTDIRECTORY = $(CDESRC)/dtsession/
147 SRCS=    version.c
148
149 includes::
150         @echo " linking $(ALTDIRECTORY)version.c to version.c";\
151         ln -f -s $(ALTDIRECTORY)version.c .
152 version.o: version.c
153         ObjectCompile($(_NOOP_))
154
155 /* don't build other .o's */
156 .c.o:
157 ComplexProgramTarget($(PROGRAMS))
158
159 /******* NORMAL NON-RGY CASE *******************************/
160 #else
161 /***************************************************/
162
163 ComplexProgramTarget($(PROGRAMS))
164
165 DTSM_CMD1 = $(CDE_INSTALLATION_TOP)/bin/dtaction OpenHomeDir
166 DTSM_CMD2 = $(CDE_INSTALLATION_TOP)/bin/dtfile -dir ~ -geometry +700+0
167 DTSM_CMD4 = $(CDE_INSTALLATION_TOP)/bin/dthelpview -helpVolume Intromgr
168 DTSM_CMD5 = $(CDE_INSTALLATION_TOP)/bin/dtaction Dthelpgen_delay
169
170 LOCAL_CPP_DEFINES = -DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP) \
171                     -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP) \
172                     -DXBINDIR=$(XPROJECTROOT)/bin \
173                     -DDTSM_CMD1="\"$(DTSM_CMD1)\"" \
174                     -DDTSM_CMD2="\"$(DTSM_CMD2)\"" \
175                     -DDTSM_CMD4="\"$(DTSM_CMD4)\"" \
176                     -DDTSM_CMD5="\"$(DTSM_CMD5)\""
177
178 CPP_TARGETS = Dtsession dtloadresources dtsession.msg \
179         sys.font sys.resources sys.resources.ive sys.session sys.session.ive
180
181 AllTarget($(CPP_TARGETS))
182
183 CppSourceFile(Dtsession,Dtsession.src,$(LOCAL_CPP_DEFINES),)
184 CppScriptTarget(dtloadresources,dtloadresources.src,$(LOCAL_CPP_DEFINES),)
185 CppSourceFile(dtsession.msg,dtsession.msg.src,$(LOCAL_CPP_DEFINES),)
186 CppSourceFile(sys.font,sys.font.src,$(LOCAL_CPP_DEFINES),)
187 CppSourceFile(sys.resources,sys.resources.src,$(LOCAL_CPP_DEFINES),)
188 CppSourceFile(sys.resources.ive,sys.resources.src,-DIVE $(LOCAL_CPP_DEFINES),)
189 CppSourceFile(sys.session,sys.session.src,$(LOCAL_CPP_DEFINES),)
190 CppSourceFile(sys.session.ive,sys.session.src,-DIVE $(LOCAL_CPP_DEFINES),)
191
192 #endif /* KRB || RGY */
193
194 /* These headers are for using installed build. dthello uses these files */
195 HEADERS = Srv.h SrvFile_io.h SrvPalette.h