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