3 include $(TOPDIR)/global_config
5 CFLAGS += -I../ -I$(CINELERRA) -I$(GUICAST) -I../colors -fPIC
7 CFLAGS += $(static_incs)
8 LFLAGS += $(static_libs)
9 LDLINKER ?= g++ -shared
10 $(shell mkdir -p $(OBJDIR))
12 PLUGIN_DIR := $(BINDIR)/plugins
13 OUTPUT_DIR = $(PLUGIN_DIR)/$($(PLUGIN))
14 PLUGIN_PNGS = $(wildcard $(foreach t,$(themes),$(t).png)) picon.png
15 OUTPUT_PNGS = $(foreach png,$(PLUGIN_PNGS), $(PLUGIN_DIR)/$(basename $(png))/$(PLUGIN).png)
16 OUTPUT = $(OUTPUT_DIR)/$(PLUGIN).plugin
17 OUTPUT_G = $(OBJDIR)/$(PLUGIN).debuginfo
19 $(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
20 $(shell echo $(LFLAGS) > $(OBJDIR)/l_flags)
22 ifeq ($(OUTPUT_THEME),)
24 $(OUTPUT): $(OBJS) $(OUTPUT_DIR) $(OUTPUT_PNGS)
25 $(LDLINKER) -o $(OUTPUT) $(OBJS) `cat $(OBJDIR)/l_flags`
26 $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(OUTPUT) $(OUTPUT_G))
27 $(if $(findstring -ggdb,$(CFLAGS)),,strip $(OUTPUT))
31 THEME_DATA = $(OBJDIR)/$(PLUGIN)_data.o
33 $(OUTPUT_THEME): $(OBJS) $(OUTPUT_DIR) $(THEME_DATA)
34 $(LDLINKER) -o $(OUTPUT_THEME) $(OBJS) $(THEME_DATA)
35 $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(OUTPUT_THEME) $(OUTPUT_G))
36 $(if $(findstring -ggdb,$(CFLAGS)),,strip $(OUTPUT_THEME))
40 ../../../guicast/$(OBJDIR)/bootstrap $(notdir $(THEME_DATA)) ../data/*.png
47 $(PLUGIN_DIR)/%/$(PLUGIN).png: %.png
48 $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
52 find \( -name core -o -name '*.o' -o -name '*.a' \) -exec rm -f {} \;
60 $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.C) -o $*.o
63 @echo $($(subst val-,,$@))