Fixed binary search: no more infinite loops when vendor is unknown.
[tangerine.git] / workbench / libs / muimaster / mmakefile.src
blobdeee1e84daa8b17e92cc46eebb04077718965623
1 # $Id$
3 include $(TOP)/config/make.cfg
5 ifneq ($(AROS_TARGET_VARIANT),tiny)
6 MAKE_BUILTIN_ABOUTMUI      := no
7 MAKE_BUILTIN_BALANCE       := no
8 MAKE_BUILTIN_BOOPSI        := no
9 MAKE_BUILTIN_COLORADJUST   := no
10 MAKE_BUILTIN_COLORFIELD    := no
11 MAKE_BUILTIN_POPASL        := no
12 MAKE_BUILTIN_POPFRAME      := no
13 MAKE_BUILTIN_POPIMAGE      := no
14 MAKE_BUILTIN_POPPEN        := no
15 MAKE_BUILTIN_RADIO         := no
16 MAKE_BUILTIN_SCROLLGROUP   := no
17 MAKE_BUILTIN_SETTINGSGROUP := no
18 MAKE_BUILTIN_VIRTGROUP     := no
19 else
20 MAKE_BUILTIN_ABOUTMUI      := yes
21 MAKE_BUILTIN_BALANCE       := yes
22 MAKE_BUILTIN_BOOPSI        := yes
23 MAKE_BUILTIN_COLORADJUST   := yes
24 MAKE_BUILTIN_COLORFIELD    := yes
25 MAKE_BUILTIN_POPASL        := yes
26 MAKE_BUILTIN_POPFRAME      := yes
27 MAKE_BUILTIN_POPIMAGE      := yes
28 MAKE_BUILTIN_POPPEN        := yes
29 MAKE_BUILTIN_RADIO         := yes
30 MAKE_BUILTIN_SCROLLGROUP   := yes
31 MAKE_BUILTIN_SETTINGSGROUP := yes
32 MAKE_BUILTIN_VIRTGROUP     := yes
33 endif
35 MAKE_BUILTIN_FRAMEADJUST   := yes
36 MAKE_BUILTIN_FRAMEDISPLAY  := yes
37 MAKE_BUILTIN_GAUGE         := yes
38 MAKE_BUILTIN_IMAGEADJUST   := yes
39 MAKE_BUILTIN_IMAGEDISPLAY  := yes
40 MAKE_BUILTIN_PENADJUST     := yes
41 MAKE_BUILTIN_PENDISPLAY    := yes
42 MAKE_BUILTIN_SCALE         := yes
43 MAKE_BUILTIN_NUMERICBUTTON := yes
44 MAKE_BUILTIN_VOLUMELIST    := no
45 MAKE_BUILTIN_DIRLIST       := no
46 MAKE_BUILTIN_POPLIST       := no
47 MAKE_BUILTIN_POPSCREEN     := no
48 MAKE_BUILTIN_CRAWLING      := no
49 MAKE_BUILTIN_LEVELMETER    := no
50 MAKE_BUILTIN_KNOB          := no
51 MAKE_BUILTIN_DTPIC         := no
52 MAKE_BUILTIN_PALETTE       := no
54 CLASSES := \
55     application \
56     area \
57     bitmap \
58     bodychunk \
59     chunkyimage \
60     configdata \
61     cycle \
62     dataspace \
63     family \
64     group \
65     image \
66     list \
67     listview \
68     mccprefs \
69     menuitem \
70     notify \
71     numeric \
72     popobject \
73     popstring \
74     prop \
75     rectangle \
76     register \
77     semaphore \
78     scrollbar \
79     scrollbutton \
80     slider \
81     string \
82     text \
83     window
85 FILES := \
86     bubbleengine \
87     clipboard \
88     datatypescache \
89     dragndrop \
90     font \
91     frame \
92     imspec \
93     imspec_gradient \
94     imspec_vector \
95     menu \
96     penspec \
97     support \
98     support_aros \
99     support_classes \
100     textengine 
101             
102 FUNCS := \
103     mui_addclipping \
104     mui_addclipregion \
105     mui_allocaslrequest \
106     mui_aslrequest \
107     mui_beginrefresh \
108     mui_createcustomclass \
109     mui_deletecustomclass \
110     mui_disposeobject \
111     mui_endrefresh \
112     mui_error \
113     mui_freeaslrequest \
114     mui_freeclass \
115     mui_getclass \
116     mui_layout \
117     mui_makeobject \
118     mui_newobject \
119     mui_obtainpen \
120     mui_redraw \
121     mui_rejectidcmp \
122     mui_releasepen \
123     mui_removeclipping \
124     mui_removeclipregion \
125     mui_request \
126     mui_requestidcmp \
127     mui_seterror
129 USER_CFLAGS := -DHAVE_COOLIMAGES
130 EXTCLASSES  :=
132 ifeq ($(MAKE_BUILTIN_ABOUTMUI),yes)
133     CLASSES     := $(CLASSES) aboutmui
134     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_ABOUTMUI=1
135 else
136     EXTCLASSES  := $(EXTCLASSES) aboutmui
137     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_ABOUTMUI=0
138 endif
140 ifeq ($(MAKE_BUILTIN_BOOPSI),yes)
141     CLASSES     := $(CLASSES) boopsi
142     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_BOOPSI=1
143 else
144     EXTCLASSES  := $(EXTCLASSES) boopsi
145     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_BOOPSI=0
146 endif
148 ifeq ($(MAKE_BUILTIN_BALANCE),yes)
149     CLASSES     := $(CLASSES) balance
150     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_BALANCE=1
151 else
152     EXTCLASSES  := $(EXTCLASSES) balance
153     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_BALANCE=0
154 endif
156 ifeq ($(MAKE_BUILTIN_COLORADJUST),yes)
157     CLASSES     := $(CLASSES) coloradjust
158     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_COLORADJUST=1
159 else
160     EXTCLASSES  := $(EXTCLASSES) coloradjust
161     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_COLORADJUST=0
162 endif
164 ifeq ($(MAKE_BUILTIN_COLORFIELD),yes)
165     CLASSES     := $(CLASSES) colorfield
166     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_COLORFIELD=1
167 else
168     EXTCLASSES  := $(EXTCLASSES) colorfield
169     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_COLORFIELD=0
170 endif
172 ifeq ($(MAKE_BUILTIN_FRAMEADJUST),yes)
173     CLASSES     := $(CLASSES) frameadjust
174     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_FRAMEADJUST=1
175 else
176     EXTCLASSES  := $(EXTCLASSES) frameadjust
177     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_FRAMEADJUST=0
178 endif
180 ifeq ($(MAKE_BUILTIN_FRAMEDISPLAY),yes)
181     CLASSES     := $(CLASSES) framedisplay
182     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_FRAMEDISPLAY=1
183 else
184     EXTCLASSES  := $(EXTCLASSES) framedisplay
185     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_FRAMEDISPLAY=0
186 endif
188 ifeq ($(MAKE_BUILTIN_GAUGE),yes)
189     CLASSES     := $(CLASSES) gauge
190     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_GAUGE=1
191 else
192     EXTCLASSES  := $(EXTCLASSES) gauge
193     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_GAUGE=0
194 endif
196 ifeq ($(MAKE_BUILTIN_IMAGEADJUST),yes)
197     CLASSES     := $(CLASSES) imageadjust
198     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_IMAGEADJUST=1
199 else
200     EXTCLASSES  := $(EXTCLASSES) imageadjust
201     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_IMAGEADJUST=0
202 endif
204 ifeq ($(MAKE_BUILTIN_IMAGEDISPLAY),yes)
205     CLASSES     := $(CLASSES) imagedisplay
206     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_IMAGEDISPLAY=1
207 else
208     EXTCLASSES  := $(EXTCLASSES) imagedisplay
209     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_IMAGEDISPLAY=0
210 endif
212 ifeq ($(MAKE_BUILTIN_PENADJUST),yes)
213     CLASSES     := $(CLASSES) penadjust
214     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_PENADJUST=1
215 else
216     EXTCLASSES  := $(EXTCLASSES) penadjust
217     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_PENADJUST=0
218 endif
220 ifeq ($(MAKE_BUILTIN_PENDISPLAY),yes)
221     CLASSES     := $(CLASSES) pendisplay
222     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_PENDISPLAY=1
223 else
224     EXTCLASSES  := $(EXTCLASSES) pendisplay
225     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_PENDISPLAY=0
226 endif
228 ifeq ($(MAKE_BUILTIN_POPASL),yes)
229     CLASSES     := $(CLASSES) popasl
230     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_POPASL=1
231 else
232     EXTCLASSES  := $(EXTCLASSES) popasl
233     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_POPASL=0
234 endif
236 ifeq ($(MAKE_BUILTIN_POPFRAME),yes)
237     CLASSES     := $(CLASSES) popframe
238     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_POPFRAME=1
239 else
240     EXTCLASSES  := $(EXTCLASSES) popframe
241     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_POPFRAME=0
242 endif
244 ifeq ($(MAKE_BUILTIN_POPIMAGE),yes)
245     CLASSES     := $(CLASSES) popimage
246     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_POPIMAGE=1
247 else
248     EXTCLASSES  := $(EXTCLASSES) popimage
249     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_POPIMAGE=0
250 endif
252 ifeq ($(MAKE_BUILTIN_POPPEN),yes)
253     CLASSES     := $(CLASSES) poppen
254     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_POPPEN=1
255 else
256     EXTCLASSES  := $(EXTCLASSES) poppen
257     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_POPPEN=0
258 endif
260 ifeq ($(MAKE_BUILTIN_RADIO),yes)
261     CLASSES     := $(CLASSES) radio
262     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_RADIO=1
263 else
264     EXTCLASSES  := $(EXTCLASSES) radio
265     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_RADIO=0
266 endif
268 ifeq ($(MAKE_BUILTIN_SCALE),yes)
269     CLASSES     := $(CLASSES) scale
270     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_SCALE=1
271 else
272     EXTCLASSES  := $(EXTCLASSES) scale
273     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_SCALE=0
274 endif
276 ifeq ($(MAKE_BUILTIN_SCROLLGROUP),yes)
277     CLASSES     := $(CLASSES) scrollgroup
278     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_SCROLLGROUP=1
279 else
280     EXTCLASSES  := $(EXTCLASSES) scrollgroup
281     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_SCROLLGROUP=0
282 endif
284 ifeq ($(MAKE_BUILTIN_SETTINGSGROUP),yes)
285     CLASSES     := $(CLASSES) settingsgroup
286     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_SETTINGSGROUP=1
287 else
288     EXTCLASSES  := $(EXTCLASSES) settingsgroup
289     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_SETTINGSGROUP=0
290 endif
292 ifeq ($(MAKE_BUILTIN_VIRTGROUP),yes)
293     CLASSES     := $(CLASSES) virtgroup
294     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_VIRTGROUP=1
295 else
296     EXTCLASSES  := $(EXTCLASSES) virtgroup
297     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_VIRTGROUP=0
298 endif
300 ifeq ($(MAKE_BUILTIN_VOLUMELIST),yes)
301     CLASSES     := $(CLASSES) volumelist
302     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_VOLUMELIST=1
303 else
304     EXTCLASSES  := $(EXTCLASSES) volumelist
305     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_VOLUMELIST=0
306 endif
308 ifeq ($(MAKE_BUILTIN_DIRLIST),yes)
309     CLASSES     := $(CLASSES) dirlist
310     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_DIRLIST=1
311 else
312     EXTCLASSES  := $(EXTCLASSES) dirlist
313     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_DIRLIST=0
314 endif
316 ifeq ($(MAKE_BUILTIN_NUMERICBUTTON),yes)
317     CLASSES     := $(CLASSES) numericbutton
318     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_NUMERICBUTTON=1
319 else
320     EXTCLASSES  := $(EXTCLASSES) numericbutton
321     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_NUMERICBUTTON=0
322 endif
324 ifeq ($(MAKE_BUILTIN_POPLIST),yes)
325     CLASSES     := $(CLASSES) poplist
326     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_POPLIST=1
327 else
328     EXTCLASSES  := $(EXTCLASSES) poplist
329     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_POPLIST=0
330 endif
332 ifeq ($(MAKE_BUILTIN_POPSCREEN),yes)
333     CLASSES     := $(CLASSES) popscreen
334     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_POPSCREEN=1
335 else
336     EXTCLASSES  := $(EXTCLASSES) popscreen
337     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_POPSCREEN=0
338 endif
340 ifeq ($(MAKE_BUILTIN_CRAWLING),yes)
341     CLASSES     := $(CLASSES) crawling
342     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_CRAWLING=1
343 else
344     EXTCLASSES  := $(EXTCLASSES) crawling
345     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_CRAWLING=0
346 endif
348 ifeq ($(MAKE_BUILTIN_LEVELMETER),yes)
349     CLASSES     := $(CLASSES) levelmeter
350     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_LEVELMETER=1
351 else
352     EXTCLASSES  := $(EXTCLASSES) levelmeter
353     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_LEVELMETER=0
354 endif
356 ifeq ($(MAKE_BUILTIN_KNOB),yes)
357     CLASSES     := $(CLASSES) knob
358     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_KNOB=1
359 else
360     EXTCLASSES  := $(EXTCLASSES) knob
361     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_KNOB=0
362 endif
364 ifeq ($(MAKE_BUILTIN_DTPIC),yes)
365     CLASSES     := $(CLASSES) dtpic
366     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_DTPIC=1
367 else
368     EXTCLASSES  := $(EXTCLASSES) dtpic
369     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_DTPIC=0
370 endif
372 ifeq ($(MAKE_BUILTIN_PALETTE),yes)
373     CLASSES     := $(CLASSES) palette
374     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_PALETTE=1
375 else
376     EXTCLASSES  := $(EXTCLASSES) palette
377     USER_CFLAGS := $(USER_CFLAGS) -DZUNE_BUILTIN_PALETTE=0
378 endif
380 CLASSFILES    := $(foreach f, $(CLASSES), classes/$(f))
381 CLASSINCLUDES := $(foreach f, $(CLASSES), $(SRCDIR)/$(CURDIR)/classes/$(f).h) \
382                  $(foreach f, $(EXTCLASSES), $(SRCDIR)/$(CURDIR)/classes/$(f).h)
383 FILES         := $(FILES) $(CLASSFILES)
385 #MM- workbench-libs-muimaster : includes linklibs workbench-libs-coolimages
387 %build_module mmake=workbench-libs-muimaster \
388     modname=muimaster modtype=library \
389     files="muimaster_init-aros $(FUNCS) $(FILES)" \
390     uselibs="coolimages mui amiga rom m"
392 BUILDINCTOOL := $(GENDIR)/$(CURDIR)/buildincludes
393 INCLUDEFILES := $(AROS_INCLUDES)/libraries/mui.h $(GENINCDIR)/libraries/mui.h
395 #MM- includes-generate-deps : includes-libraries-mui
398 includes-libraries-mui : includes-mui-setup $(INCLUDEFILES)
399         @$(NOP)
401 includes-mui-setup : $(GENINCDIR)/libraries $(AROS_INCLUDES)/libraries
403 %copy_includes includes=customclasses.h path=zune
405 $(GENINCDIR)/libraries $(AROS_INCLUDES)/libraries :
406         %mkdir_q dir=$@
408 $(AROS_INCLUDES)/libraries/mui.h : $(GENINCDIR)/libraries/mui.h
409         @$(ECHO) Copying $< to $@
410         @$(CP) $< $@
412 $(GENINCDIR)/libraries/mui.h : $(BUILDINCTOOL) mui.h macros.h $(CLASSINCLUDES)
413         @$(ECHO) Rebuilding $@
414         @cd $(SRCDIR)/$(CURDIR); $(BUILDINCTOOL) > $@
416 $(BUILDINCTOOL) : buildincludes.c
417         %mkdirs_q $(dir $(BUILDINCTOOL))
418         @$(HOST_CC) $(HOST_CFLAGS) $< -o $@
420 %common