Credit Andrew - fix vorbis audio which was scratchy and ensure aging plugin does...
[goodguy/cinelerra.git] / cinelerra-5.1 / guicast / Makefile
1 export TOPDIR ?= $(CURDIR)/..
2 include $(TOPDIR)/global_config
3
4 ifeq ($(OBJDIR), i686)
5 BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B i386 -I binary -O elf32-i386\""
6 endif
7
8 ifeq ($(OBJDIR), i386)
9 BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B i386 -I binary -O elf32-i386\""
10 endif
11
12 ifeq ($(OBJDIR), x86_64)
13 BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B i386 -I binary -O elf64-x86-64\""
14 endif
15 ifeq ($(OBJDIR), amd64)
16 BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B i386 -I binary -O elf64-x86-64\""
17 endif
18
19 ifeq ($(OBJDIR), armv8l)
20 BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B arm -I binary -O elf32-littlearm\""
21 endif
22
23 ifeq ($(OBJDIR), armv7l)
24 BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B arm -I binary -O elf32-littlearm\""
25 endif
26
27 ifeq ($(OBJDIR), aarch64)
28 BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B aarch64 -I binary -O elf64-littleaarch64\""
29 endif
30
31 ifeq ($(OBJDIR), ppc64)
32 BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B powerpc -I binary -O elf64-powerpc\""
33 endif
34
35 ifeq ($(OBJDIR), ppc)
36 BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B powerpc -I binary -O elf32-powerpc\""
37 endif
38
39
40
41
42 $(shell mkdir -p $(OBJDIR) )
43
44 OBJS = \
45         $(OBJDIR)/bcbar.o \
46         $(OBJDIR)/bcbitmap.o \
47         $(OBJDIR)/bcbutton.o \
48         $(OBJDIR)/bccapture.o \
49         $(OBJDIR)/bccolors.o \
50         $(OBJDIR)/bccmodels.o \
51         $(OBJDIR)/bccounter.o \
52         $(OBJDIR)/bcclipboard.o \
53         $(OBJDIR)/bcdelete.o \
54         $(OBJDIR)/bcdialog.o \
55         $(OBJDIR)/bcdisplay.o \
56         $(OBJDIR)/bcdisplayinfo.o \
57         $(OBJDIR)/bcdragbox.o \
58         $(OBJDIR)/bcdragwindow.o \
59         $(OBJDIR)/bcfilebox.o \
60         $(OBJDIR)/bcfontentry.o \
61         $(OBJDIR)/bclistbox.o \
62         $(OBJDIR)/bclistboxitem.o \
63         $(OBJDIR)/bchash.o \
64         $(OBJDIR)/bcmenu.o \
65         $(OBJDIR)/bcmenubar.o \
66         $(OBJDIR)/bcmenuitem.o \
67         $(OBJDIR)/bcmenupopup.o \
68         $(OBJDIR)/bcmeter.o \
69         $(OBJDIR)/bcnewfolder.o \
70         $(OBJDIR)/bcpan.o \
71         $(OBJDIR)/bcpbuffer.o \
72         $(OBJDIR)/bcpixmap.o \
73         $(OBJDIR)/bcpopup.o \
74         $(OBJDIR)/bcpopupmenu.o \
75         $(OBJDIR)/bcpot.o \
76         $(OBJDIR)/bcprogress.o \
77         $(OBJDIR)/bcprogressbox.o \
78         $(OBJDIR)/bcrecentlist.o \
79         $(OBJDIR)/bcrename.o \
80         $(OBJDIR)/bcrepeater.o \
81         $(OBJDIR)/bcresources.o \
82         $(OBJDIR)/bcscrollbar.o \
83         $(OBJDIR)/bcsignals.o \
84         $(OBJDIR)/bcslider.o \
85         $(OBJDIR)/bcsubwindow.o \
86         $(OBJDIR)/bcsynchronous.o \
87         $(OBJDIR)/bctextbox.o \
88         $(OBJDIR)/bctexture.o \
89         $(OBJDIR)/bctheme.o \
90         $(OBJDIR)/bctitle.o \
91         $(OBJDIR)/bctoggle.o \
92         $(OBJDIR)/bctrace.o \
93         $(OBJDIR)/bctumble.o \
94         $(OBJDIR)/bcwindow.o \
95         $(OBJDIR)/bcwindow3d.o \
96         $(OBJDIR)/bcwindowbase.o \
97         $(OBJDIR)/bcwindowdraw.o \
98         $(OBJDIR)/bcwindowevents.o \
99         $(OBJDIR)/condition.o \
100         $(OBJDIR)/errorbox.o \
101         $(OBJDIR)/filesystem.o \
102         $(OBJDIR)/mutex.o \
103         $(OBJDIR)/rotateframe.o \
104         $(OBJDIR)/thread.o \
105         $(OBJDIR)/testobject.o \
106         $(OBJDIR)/bctimer.o \
107         $(OBJDIR)/units.o \
108         $(OBJDIR)/vframe.o \
109         $(OBJDIR)/vframe3d.o \
110         $(OBJDIR)/vicon.o \
111         $(OBJDIR)/workarounds.o
112
113 OUTPUT = $(OBJDIR)/libguicast.a
114
115 UTILS = $(OBJDIR)/bootstrap $(OBJDIR)/pngtoh $(OBJDIR)/pngtoraw
116 BCXFER = xfer/$(OBJDIR)/xfer.stamp
117
118 CFLAGS += $(static_incs) `pkg-config --cflags libpng` `pkg-config --cflags libjpeg`
119
120 $(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
121 $(shell echo $(OBJS) > $(OBJDIR)/objs)
122
123 all: $(OUTPUT) $(UTILS)
124 PLATFORM = $(uname -s)
125 ifneq ($(PLATFORM), FreeBSD)
126 python = $(shell find /usr/local/bin -name python3\* | head -n 1)
127 endif
128 ifneq ($(PLATFORM), Linux)
129 python = $(shell which python)
130 endif
131
132 ifeq ($(python),)
133 python += $(shell which python3.9)
134 endif
135
136
137 $(BCXFER):      bccmdl.py bcxfer.C bcxfer.h
138         $(python) < ./bccmdl.py
139         +$(MAKE) -C xfer
140
141 $(OUTPUT): $(OBJS) $(BCXFER)
142         ar rc $(OUTPUT) `cat $(OBJDIR)/objs` `ls -1 $(dir $(BCXFER))/xfer*.o`
143         ar rs $(OUTPUT) `ls -1 $(dir $(BCXFER))/xfer*.o`
144
145 $(OBJDIR)/bootstrap:
146         $(CC) -O2 $(BOOTSTRAPFLAGS) bootstrap.c -o $(OBJDIR)/bootstrap
147
148 $(OBJDIR)/pngtoh: pngtoh.c
149         $(CC) -O2 pngtoh.c -o $(OBJDIR)/pngtoh
150
151 PNGTORAWFLAGS = $(shell pkg-config --libs libpng pkg-config --cflags libpng)
152
153
154 $(OBJDIR)/pngtoraw: pngtoraw.c
155         $(CC) -O2 pngtoraw.c -o $(OBJDIR)/pngtoraw $(PNGTORAWFLAGS) -lz
156
157 clean:
158         rm -rf $(OBJDIR)
159         $(MAKE) -C xfer clean
160
161 install:
162
163 $(LIBOBJS) $(OBJS) $(CUTOBJ):
164
165 $(OBJDIR)/%.o:          %.C
166         $(CXX) `cat $(OBJDIR)/c_flags` -DMSGQUAL=$* -c $< -o $@
167
168 $(OBJDIR)/bootstrap: bootstrap.c
169 $(OBJDIR)/pngtoh: pngtoh.c
170
171 val-%:
172         @echo $($(subst val-,,$@))
173