compiler issues, warnings, makefile spiffs
[goodguy/history.git] / cinelerra-5.1 / plugin_config
1
2 CFLAGS += -I../ -I$(CINELERRA) -I$(GUICAST) -I../colors -fPIC
3
4 CFLAGS += $(static_incs)
5 LFLAGS += $(static_libs)
6 LDLINKER ?= g++ -shared
7 $(shell mkdir -p $(OBJDIR))
8
9 PLUGIN_DIR := $(BINDIR)/plugins
10 OUTPUT_DIR = $(PLUGIN_DIR)/$($(PLUGIN))
11 PLUGIN_PNGS = $(wildcard $(foreach t,$(themes),$(t).png)) picon.png
12 OUTPUT_PNGS = $(foreach png,$(PLUGIN_PNGS), $(PLUGIN_DIR)/$(basename $(png))/$(PLUGIN).png)
13 OUTPUT = $(OUTPUT_DIR)/$(PLUGIN).plugin
14 OUTPUT_G = $(OBJDIR)/$(PLUGIN).debuginfo
15
16 $(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
17 $(shell echo $(LFLAGS) > $(OBJDIR)/l_flags)
18
19 ifeq ($(OUTPUT_THEME),)
20
21 $(OUTPUT): $(OBJS) $(OUTPUT_DIR) $(OUTPUT_PNGS) $(OUTPUT_BINS)
22         $(LDLINKER) -o $(OUTPUT) $(OBJS) $(OUTPUT_BINS) `cat $(OBJDIR)/l_flags`
23         $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(OUTPUT) $(OUTPUT_G))
24         $(if $(findstring -ggdb,$(CFLAGS)),,strip $(OUTPUT))
25
26 else
27
28 THEME_DATA = $(OBJDIR)/$(PLUGIN)_data.o
29
30 $(OUTPUT_THEME): $(OBJS) $(OUTPUT_DIR) $(THEME_DATA)
31         $(LDLINKER) -o $(OUTPUT_THEME) $(OBJS) $(THEME_DATA)
32         $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(OUTPUT_THEME) $(OUTPUT_G))
33         $(if $(findstring -ggdb,$(CFLAGS)),,strip $(OUTPUT_THEME))
34
35 $(THEME_DATA):
36         cd $(OBJDIR) && \
37         ../../../guicast/$(OBJDIR)/bootstrap $(notdir $(THEME_DATA)) ../data/*.png
38
39 endif
40
41 $(OUTPUT_DIR):
42         mkdir -p $@
43
44 $(PLUGIN_DIR)/%/$(PLUGIN).png:  %.png
45         $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
46         cp -a $< $@
47
48 clean:
49         find \( -name core -o -name '*.o' -o -name '*.a' \) -exec rm -f {} \;
50         rm -f $(OUTPUT)
51         rm -rf $(OBJDIR)
52
53 wc:
54         cat *.C *.h | wc
55
56 $(OBJS):
57         $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.C) -o $*.o
58
59 val-%:
60         @echo $($(subst val-,,$@))
61