1 #! gmake
2 #
3 # ***** BEGIN LICENSE BLOCK *****
4 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 #
6 # The contents of this file are subject to the Mozilla Public License Version
7 # 1.1 (the "License"); you may not use this file except in compliance with
8 # the License. You may obtain a copy of the License at
9 # http://www.mozilla.org/MPL/
10 #
11 # Software distributed under the License is distributed on an "AS IS" basis,
12 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 # for the specific language governing rights and limitations under the
14 # License.
15 #
16 # The Original Code is the Microline Widget Library, originally made available under the NPL by Neuron Data <http://www.neurondata.com>.
17 #
18 # The Initial Developer of the Original Code is
19 # Netscape Communications Corporation.
20 # Portions created by the Initial Developer are Copyright (C) 1998
21 # the Initial Developer. All Rights Reserved.
22 #
23 # Contributor(s):
24 #
25 # Alternatively, the contents of this file may be used under the terms of
26 # either the GNU General Public License Version 2 or later (the "GPL"), or
27 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28 # in which case the provisions of the GPL or the LGPL are applicable instead
29 # of those above. If you wish to allow use of your version of this file only
30 # under the terms of either the GPL or the LGPL, and not to allow others to
31 # use your version of this file under the terms of the MPL, indicate your
32 # decision by deleting the provisions above and replace them with the notice
33 # and other provisions required by the GPL or the LGPL. If you do not delete
34 # the provisions above, a recipient may use your version of this file under
35 # the terms of any one of the MPL, the GPL or the LGPL.
36 #
37 # In addition, as a special exception to the GNU GPL, the copyright holders
38 # give permission to link the code of this program with the Motif and Open
39 # Motif libraries (or with modified versions of these that use the same
40 # license), and distribute linked combinations including the two. You
41 # must obey the GNU General Public License in all respects for all of
42 # the code used other than linking with Motif/Open Motif. If you modify
43 # this file, you may extend this exception to your version of the file,
44 # but you are not obligated to do so. If you do not wish to do so,
45 # delete this exception statement from your version.
46 #
47 # ***** END LICENSE BLOCK *****
48
49
50 #
51 # This make file was copied from ns/cmd/xfe/XfeWidgets/tests/Makefile
52 # and tweaked. A lot of the rules and logic can probably be shared.
53 # Stuff should be shared in
54 #
55 #
56 DEPTH = ../../../..
57
58 ifdef XFE_WIDGETS_BUILD_UNUSED
59 UNUSED_CSRCS = \
60 demo.c \
61 prog1.c \
62 prog2.c \
63 prog3.c \
64 uil1.c \
65 util1.c \
66 $(NULL)
67 endif
68
69 CSRCS = \
70 $(UNUSED_CSRCS) \
71 folder1.c \
72 folder2.c \
73 folder3.c \
74 folder4.c \
75 grid1.c \
76 grid2.c \
77 grid3.c \
78 grid4.c \
79 grid5.c \
80 grid6.c \
81 tree1.c \
82 tree2.c \
83 tree3.c \
84 tree4.c \
85 tree5.c \
86 $(NULL)
87
88 REQUIRES = \
89 Microline
90
91 PROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=.exe))
92
93 include $(DEPTH)/config/rules.mk
94 include $(DEPTH)/cmd/xfe/XfeWidgets/XfeWidgets.mk
95
96 all:: $(PROGS)
97 install:: $(PROGS)
98
99 LDFLAGS =
100
101 SHARED_XFE_LIBS = $(DIST)/bin/libXmL.$(DLL_SUFFIX)
102
103 STATIC_XFE_LIBS = $(DIST)/lib/libXmL.a
104
105 DIST_FLAGS = -L$(DIST)/bin
106
107 ifeq ($(OS_ARCH),AIX)
108
109 XFE_FLAGS = $(STATIC_XFE_LIBS)
110
111 else
112
113 XFE_FLAGS = $(SHARED_XFE_LIBS)
114
115 endif
116
117 ifeq ($(OS_ARCH),Linux)
118 -include $(DEPTH)/config/motif.mk
119 endif
120
121 XM_LD_FLAGS = -lMrm -lXm $(NS_MOTIF2_XP_LD_FLAGS)
122
123 X_LD_FLAGS = $(XM_LD_FLAGS) -lXt -lXmu -lXext -lX11
124
125 OS_BEFORE_FLAGS =
126 OS_AFTER_FLAGS =
127
128 ifeq ($(OS_ARCH),SunOS)
129
130 OS_BEFORE_LDFLAGS =\
131 -L/usr/dt/lib \
132 -L/usr/openwin/lib
133
134 OS_AFTER_LDFLAGS =\
135 -lw \
136 -lintl \
137 -lsocket \
138 -lnsl \
139 -lgen \
140 -lm \
141 -ldl
142 endif
143
144 ifeq ($(OS_ARCH),AIX)
145
146 OS_BEFORE_LDFLAGS =\
147 -L/usr/dt/lib
148 endif
149
150 ifeq ($(OS_ARCH),IRIX)
151 endif
152
153 ifeq ($(OS_ARCH),Linux)
154
155 OS_BEFORE_LDFLAGS = -L/usr/X11R6/lib
156
157 endif
158
159 ifeq ($(OS_ARCH),HP-UX)
160
161 OS_BEFORE_LDFLAGS = -L$(DIST)/bin
162
163 endif
164
165 LDFLAGS =\
166 $(OS_BEFORE_LDFLAGS) \
167 $(DIST_FLAGS) \
168 $(XFE_FLAGS) \
169 $(X_LD_FLAGS) \
170 $(OS_AFTER_LDFLAGS)
171
172 ##
173 ## Test dependancies
174 ##
175 #OTHER_DEPS = Makefile $(XFE_FLAGS)
176 OTHER_DEPS = $(XFE_FLAGS)
177
178 ##
179 ## Resource source rule
180 ##
181 #$(OBJDIR)/%.ad.c:: %.ad # Makefile
182 # @$(MAKE_OBJDIR)
183 # @echo 'char * fallback_resources[] = {' > $@; \
184 # ./ad2c $< >> $@; \
185 # echo '0};' >> $@
186
187 ##
188 ## Resource object rule
189 ##
190 #$(OBJDIR)/%.ad.o: $(OBJDIR)/%.ad.c
191 # @$(MAKE_OBJDIR)
192 # $(CC) -o $@ -c $<
193
194 ##
195 ## Binary link rule
196 ##
197 $(OBJDIR)/%.exe: $(OBJDIR)/%.o $(OTHER_DEPS)
198 @$(MAKE_OBJDIR)
199 $(XFE_PURIFY) $(CC) -o $@ $< $(LDFLAGS)
200