initial commit
[goodguy/history.git] / cinelerra-5.0 / guicast / Makefile
1 include ../global_config
2
3 CFLAGS += -I../quicktime
4
5 # must only define here so applications using libpng don't see any of the XFT
6 # includes at all.  They use a conflicting setjmp.
7 ifeq ($(HAVE_XFT), y)
8 CFLAGS += -DHAVE_XFT
9 endif
10
11 ifeq ($(OBJDIR), i686)
12 BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B i386 -I binary -O elf32-i386\""
13 endif
14
15 ifeq ($(OBJDIR), x86_64)
16 BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B i386 -I binary -O elf64-x86-64\""
17 endif
18
19
20 $(shell mkdir -p $(OBJDIR) )
21
22 OBJS = \
23         $(OBJDIR)/bcbar.o \
24         $(OBJDIR)/bcbitmap.o \
25         $(OBJDIR)/bcbutton.o \
26         $(OBJDIR)/bccapture.o \
27         $(OBJDIR)/bccmodels.o \
28         $(OBJDIR)/bccounter.o \
29         $(OBJDIR)/bcclipboard.o \
30         $(OBJDIR)/bcdelete.o \
31         $(OBJDIR)/bcdialog.o \
32         $(OBJDIR)/bcdisplay.o \
33         $(OBJDIR)/bcdisplayinfo.o \
34         $(OBJDIR)/bcdragwindow.o \
35         $(OBJDIR)/bcfilebox.o \
36         $(OBJDIR)/bcfontentry.o \
37         $(OBJDIR)/bcwidgetgrid.o \
38         $(OBJDIR)/bclistbox.o \
39         $(OBJDIR)/bclistboxitem.o \
40         $(OBJDIR)/bchash.o \
41         $(OBJDIR)/bcmenu.o \
42         $(OBJDIR)/bcmenubar.o \
43         $(OBJDIR)/bcmenuitem.o \
44         $(OBJDIR)/bcmenupopup.o \
45         $(OBJDIR)/bcmeter.o \
46         $(OBJDIR)/bcnewfolder.o \
47         $(OBJDIR)/bcpan.o \
48         $(OBJDIR)/bcpbuffer.o \
49         $(OBJDIR)/bcpixmap.o \
50         $(OBJDIR)/bcpopup.o \
51         $(OBJDIR)/bcpopupmenu.o \
52         $(OBJDIR)/bcpot.o \
53         $(OBJDIR)/bcprogress.o \
54         $(OBJDIR)/bcprogressbox.o \
55         $(OBJDIR)/bcrecentlist.o \
56         $(OBJDIR)/bcrelocatablewidget.o \
57         $(OBJDIR)/bcrename.o \
58         $(OBJDIR)/bcrepeater.o \
59         $(OBJDIR)/bcresources.o \
60         $(OBJDIR)/bcscrollbar.o \
61         $(OBJDIR)/bcsignals.o \
62         $(OBJDIR)/bcslider.o \
63         $(OBJDIR)/bcsubwindow.o \
64         $(OBJDIR)/bcsynchronous.o \
65         $(OBJDIR)/bctextbox.o \
66         $(OBJDIR)/bctexture.o \
67         $(OBJDIR)/bctheme.o \
68         $(OBJDIR)/bctitle.o \
69         $(OBJDIR)/bctoggle.o \
70         $(OBJDIR)/bctumble.o \
71         $(OBJDIR)/bcwindow.o \
72         $(OBJDIR)/bcwindow3d.o \
73         $(OBJDIR)/bcwindowbase.o \
74         $(OBJDIR)/bcwindowdraw.o \
75         $(OBJDIR)/bcwindowevents.o \
76         $(OBJDIR)/bcxfer.o \
77         $(OBJDIR)/condition.o \
78         $(OBJDIR)/errorbox.o \
79         $(OBJDIR)/filesystem.o \
80         $(OBJDIR)/mutex.o \
81         $(OBJDIR)/rotateframe.o \
82         $(OBJDIR)/sema.o \
83         $(OBJDIR)/stringfile.o \
84         $(OBJDIR)/thread.o \
85         $(OBJDIR)/testobject.o \
86         $(OBJDIR)/bctimer.o \
87         $(OBJDIR)/units.o \
88         $(OBJDIR)/vframe.o \
89         $(OBJDIR)/vframe3d.o \
90         $(OBJDIR)/workarounds.o
91
92 OUTPUT = $(OBJDIR)/libguicast.a
93
94 TESTLIBS := \
95                 $(OUTPUT) \
96                 ../quicktime/$(OBJDIR)/libquicktime.a \
97                 $(LDFLAGS) \
98                 $(GLLIBS) \
99                 -lX11 \
100                 -lXext \
101                 -lXv \
102                 -lpthread \
103                 -lm \
104                 -lpng
105
106 ifeq ($(HAVE_XFT), y)
107 TESTLIBS += -lXft
108 endif   
109
110 ifeq ($(HAVE_GL), y)
111 TESTLIBS += -lGL -lGLU
112 endif
113
114 UTILS = $(OBJDIR)/bootstrap $(OBJDIR)/pngtoh $(OBJDIR)/pngtoraw
115
116 $(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
117 $(shell echo $(OBJS) > $(OBJDIR)/objs)
118
119 all: $(OUTPUT) $(UTILS)
120
121 $(OBJDIR)/bcxfer.o:     bcxfer.C xfer.C xfer.h
122         $(CXX) `cat $(OBJDIR)/c_flags` -c $< -o $@
123
124 bcxfer.C:       bccmdl.py
125         python < ./bccmdl.py > bcxfer.C
126
127 $(OUTPUT): $(OBJS)
128         ar rcs $(OUTPUT) `cat $(OBJDIR)/objs`
129
130 $(OBJDIR)/bootstrap:
131         gcc -O2 $(BOOTSTRAPFLAGS) bootstrap.c -o $(OBJDIR)/bootstrap
132
133 $(OBJDIR)/pngtoh: pngtoh.c
134         gcc -O2 pngtoh.c -o $(OBJDIR)/pngtoh
135
136 $(OBJDIR)/pngtoraw: pngtoraw.c
137         gcc -O2 pngtoraw.c -o $(OBJDIR)/pngtoraw -lpng -lz
138
139 replace:  replace.o $(OUTPUT)
140         $(CC) -o replace replace.o $(OUTPUT) \
141         ../quicktime/i686/libquicktime.a \
142         $(LDFLAGS) $(XLIBS) -lpng
143
144 #       $(XXF86VM) \
145
146
147
148 test:   $(OBJDIR)/test.o $(STATICOUTPUT)
149         $(CC) -o $(OBJDIR)/test \
150                 $(OBJDIR)/test.o \
151                 $(TESTLIBS)
152
153 test2:  $(OBJDIR)/test2.o $(STATICOUTPUT)
154         $(CC) -o $(OBJDIR)/test2 \
155                 $(OBJDIR)/test2.o \
156                 $(TESTLIBS)
157
158 test3:  $(OBJDIR)/test3.o $(STATICOUTPUT)
159         $(CC) -o $(OBJDIR)/test3 \
160                 $(OBJDIR)/test3.o \
161                 $(TESTLIBS)
162
163 clean:
164         rm -rf $(OBJDIR)
165         rm -f bcxfer.C
166         find \( -name core \
167                 -o -name '*.o' -o -name '*.a' \
168                 -o -name '*.so' \) -exec rm -f {} \;
169
170 $(LIBOBJS) $(OBJS) $(CUTOBJ):
171
172 $(OBJDIR)/%.o:          %.C
173         $(CXX) `cat $(OBJDIR)/c_flags` -c $< -o $@
174
175 $(OBJDIR)/bootstrap: bootstrap.c
176 $(OBJDIR)/pngtoh: pngtoh.c
177 $(OBJDIR)/bccmodel_default.o:         bccmodel_default.C  bccmodel_permutation.h
178
179 val-%:
180         @echo $($(subst val-,,$@))
181