dtcm: Resolve CID 87801
[oweals/cde.git] / cde / programs / dtksh / Imakefile
1 XCOMM $TOG: Imakefile /main/15 1998/04/07 08:55:29 mgreess $
2 DESKTOP_VERSION_STRING = DesktopVersionString
3
4 KSH93SRC = ./ksh93
5 DEPEND_DEFINES = $(DEPENDDEFINES)
6 INCLUDES = -I. -I$(KSH93SRC)/include/ast -I$(KSH93SRC)/src/cmd/ksh93/include -I$(KSH93SRC)/src/cmd/ksh93
7
8 /* DEPLIBS contains the list of library depencies for a client.
9  * LOCAL_LIBRARIES contains the list of libraries on the link line.
10  * Generally, the dependency form of a library has DEP as a prefix.
11  * e.g. put $(XLIB) in LOCAL_LIBRARIES and $(DEPXLIB) in DEPLIBS.
12  * NOTE: if DEPLIBS is not set here, it is by default null and there
13  *       are no library dependencies for clients.
14  *       You cannot put -Llibpath into DEPLIBS. You must put actual
15  *       paths to the library.
16  */
17 DEPLIBS = $(DEPDTHELPLIB) $(DEPDTSVCLIB) $(DEPDTWIDGETLIB) $(DEPDTPRINTLIB) \
18           $(DEPXPLIB) $(DEPTTLIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXLIB) \
19           $(KSH93SRC)/lib/libast.a
20 LOCAL_LIBRARIES = $(DTHELPLIB) $(DTWIDGETLIB) $(DTSVCLIB) $(DTPRINTLIB) \
21                   $(XPLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XLIB) \
22                   $(KSH93SRC)/lib/libcmd.a  $(KSH93SRC)/lib/libast.a 
23
24 SYS_LIBRARIES = -lm $(DYNLIBSYSLIB) $(REGEXSYSLIB) $(ICONVSYSLIB)
25
26 #ifdef HPArchitecture
27 EXTRA_DEFINES = -Wl,-E -DHPUX_DYNLIB -Wp,-H12000
28 SYS_LIBRARIES = -lm -ldld 
29 #endif
30
31 #ifdef RsArchitecture
32 EXTRA_DEFINES = -DDYNLIB -D_IBMRPC_
33 LOCAL_LDFLAGS = -bE:dtksh.exp
34 #endif
35
36 #if defined (SunArchitecture)
37 EXTRA_DEFINES = -DDYNLIB
38 #endif
39
40 #if defined (USLArchitecture)
41 EXTRA_DEFINES = -DDYNLIB
42 LOCAL_LDFLAGS = -Wl,-Bexport:dtksh.exp
43 #endif
44
45 #if defined (UXPArchitecture)
46 EXTRA_DEFINES = -DDYNLIB
47 LOCAL_LDFLAGS = -Wl,-Bexport:dtksh.exp
48 #endif
49
50 #if defined(HPOSFArchitecture)
51 #endif
52
53
54 #if defined(ApolloArchitecture)
55 EXTRA_INCLUDES = -I/bsd4.3/usr/include -I/sys5/usr/include \
56         -I$(DTHELPSRC) -I$(DTPRINTSRC)
57 #else
58 EXTRA_INCLUDES = -I$(DTHELPSRC) -I$(DTPRINTSRC)
59 #endif
60
61 #ifdef SunArchitecture
62 .NO_PARALLEL:
63 #endif
64
65 #ifdef LinuxArchitecture
66 SYS_LIBRARIES = -lm -ldl
67 #endif
68
69 #define IHaveSubdirs
70 #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
71
72 SUBDIRS = examples ksh93
73 KSH93OBJ = $(KSH93SRC)/ksh93.o
74
75 MakeSubdirs($(SUBDIRS))
76
77 KSH93LIBSHELL = $(KSH93SRC)/src/cmd/ksh93/libshell.a
78
79 PROGRAMS = dtksh
80
81 SRCS =  \
82                 userinit.c \
83                 builtins.c \
84                 aliases.c \
85                 widget.c \
86                 dtkcvt.c \
87                 dtkcmds.c \
88                 XtCvtrs.c \
89                 xmcvt.c \
90                 xmcmds.c \
91                 xmwidgets.c \
92                 extra.c \
93                 xmdtksym.c \
94                 findsym.c \
95                 msgs.c \
96                 version.c
97
98 OBJS =  \
99                 $(KSH93OBJ) \
100                 libshell.a \
101                 widget.o \
102                 dtkcvt.o \
103                 dtkcmds.o \
104                 XtCvtrs.o \
105                 xmcvt.o \
106                 xmcmds.o \
107                 xmwidgets.o \
108                 extra.o \
109                 xmdtksym.o \
110                 findsym.o \
111                 msgs.o \
112                 version.o \
113                 $(LOCAL_LIBRARIES2)
114
115 all:: dtksh
116
117 $(KSH93SRC)/ksh93.o:
118         cd $(KSH93SRC); $(MAKE)
119
120 XCOMM
121 XCOMM Must replace standard ksh tables of builtins and aliases
122 XCOMM with our augmented versions.
123 XCOMM
124
125 libshell.a: $(KSH93SLIBSHELL) userinit.o builtins.o aliases.o
126         $(CP) $(KSH93LIBSHELL) libshell.a; \
127         ar d libshell.a userinit.o builtins.o aliases.o ; \
128         $(AR) libshell.a userinit.o builtins.o aliases.o
129
130 SpecialObjectRule(userinit.o,$(NULL),-DSHOPT_VSH -DKSHELL -D_TRACE_ )
131 SpecialObjectRule(builtins.o,$(NULL),-DSHOPT_VSH -DKSHELL -D_TRACE_ )
132 SpecialObjectRule(aliases.o,$(NULL),-DSHOPT_VSH -DKSHELL -D_TRACE_ )
133
134 ComplexProgramTarget($(PROGRAMS))
135
136 clean::
137         @echo " Cleaning ksh directories"
138         $(SHELL) MakeClean