[SCM] juce/master: allow building Debug and Release libraries
umlaeute at users.alioth.debian.org
umlaeute at users.alioth.debian.org
Wed Feb 10 20:53:48 UTC 2016
The following commit has been merged in the master branch:
commit e1ba8bdcc84fe6ad6da8e036dfeaf23734cd969c
Author: IOhannes m zmölnig <zmoelnig at umlautQ.umlaeute.mur.at>
Date: Wed Feb 10 20:28:05 2016 +0100
allow building Debug and Release libraries
diff --git a/debian/libbuilder/Makefile b/debian/libbuilder/Makefile
index c45e218..d91d430 100644
--- a/debian/libbuilder/Makefile
+++ b/debian/libbuilder/Makefile
@@ -117,24 +117,27 @@ JUCE_LDFLAGS += \
OBJECTS_RELEASE=$(SOURCES:%.cpp=$(OBJDIR_RELEASE)/%.o)
OBJECTS_DEBUG=$(SOURCES:%.cpp=$(OBJDIR_DEBUG)/%.o)
-.PHONY: all clean install install-lib install-headers install-pkgconfig test introjucer
+.PHONY: all clean install install-lib-release install-lib-debug install-headers install-pkgconfig introjucer
all: $(TARGET) introjucer
-$(OUTDIR)/$(TARGET_RELEASE): $(OBJECTS) $(RESOURCES)
+$(OBJDIR_RELEASE)/dir_stamp:
+ @mkdir -p $(OBJDIR_RELEASE)
+ @touch $@
+$(OBJDIR_DEBUG)/dir_stamp:
+ @mkdir -p $(OBJDIR_DEBUG)
+ @touch $@
+
+$(OUTDIR)/$(TARGET_RELEASE): $(OBJECTS_RELEASE) $(RESOURCES)
@echo Linking $(TARGET_RELEASE)
- - at mkdir -p $(OUTDIR)
$(CXX) -o $@ $^ -Wl,-soname,$(TARGET_RELEASE).$(SHORTSONAME) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_RELEASE) $(LDFLAGS) $(TARGET_ARCH)
-$(OBJDIR_RELEASE)/%.o: %.cpp libjuce_builddate.h
- mkdir -p "$(OBJDIR_RELEASE)"
+$(OBJDIR_RELEASE)/%.o: %.cpp libjuce_builddate.h $(OBJDIR_RELEASE)/dir_stamp
$(CXX) $(JUCE_CPPFLAGS) $(JUCE_CFLAGS_RELEASE) $(JUCE_CFLAGS) $(JUCE_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS) -o "$@" -c "$<"
-$(OUTDIR)/$(TARGET_DEBUG): $(OBJECTS) $(RESOURCES)
+$(OUTDIR)/$(TARGET_DEBUG): $(OBJECTS_DEBUG) $(RESOURCES)
@echo Linking $(TARGET_DEBUG)
- - at mkdir -p $(OUTDIR)
$(CXX) -o $@ $^ -Wl,-soname,$(TARGET_DEBUG).$(SHORTSONAME) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_DEBUG) $(LDFLAGS) $(TARGET_ARCH)
-$(OBJDIR_DEBUG)/%.o: %.cpp libjuce_builddate.h
- mkdir -p "$(OBJDIR_DEBUG)"
+$(OBJDIR_DEBUG)/%.o: %.cpp libjuce_builddate.h $(OBJDIR_DEBUG)/dir_stamp
$(CXX) $(JUCE_CPPFLAGS) $(JUCE_CFLAGS_DEBUG) $(JUCE_CFLAGS) $(JUCE_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS) -o "$@" -c "$<"
libjuce_builddate.h:
@@ -147,33 +150,38 @@ clean:
$(MAKE) -C $(DEMO_PATH) clean
$(MAKE) -C $(INTROJUCER_PATH) clean
-install-lib: $(OUTDIR)/$(TARGET)
- @echo Installing juce_dll
+install-lib-release: $(OUTDIR)/$(TARGET_RELEASE)
+ @echo Installing $(TARGET_RELEASE)
+ install -d $(DESTDIR)$(libdir)
+ install -m664 $^ $(DESTDIR)$(libdir)/$(notdir $^).$(SONAME)
+ ln -s $(notdir $^).$(SONAME) $(DESTDIR)$(libdir)/$(notdir $^)
+ ln -s $(notdir $^).$(SONAME) $(DESTDIR)$(libdir)/$(notdir $^).$(SHORTSONAME)
+install-lib-debug: $(OUTDIR)/$(TARGET_DEBUG)
+ @echo Installing $(TARGET_DEBUG)
install -d $(DESTDIR)$(libdir)
- install -m664 $^ $(DESTDIR)$(libdir)/$(TARGET).$(SONAME)
- ln -s $(TARGET).$(SONAME) $(DESTDIR)$(libdir)/$(TARGET)
- ln -s $(TARGET).$(SONAME) $(DESTDIR)$(libdir)/$(TARGET).$(SHORTSONAME)
-install-pkgconfig: juce.pc
- @echo Installing juce_dll
+ install -m664 $^ $(DESTDIR)$(libdir)/$(notdir $^).$(SONAME)
+ ln -s $(notdir $^).$(SONAME) $(DESTDIR)$(libdir)/$(notdir $^)
+ ln -s $(notdir $^).$(SONAME) $(DESTDIR)$(libdir)/$(notdir $^).$(SHORTSONAME)
+
+install-pkgconfig: juce-dbg.pc juce.pc
+ @echo Installing $^
+ sed -e 's|^\(Libs: -ljuce\)|\1_d|' -i $<
install -d $(DESTDIR)$(libdir)/pkgconfig
- install -m664 $^ $(DESTDIR)$(libdir)/pkgconfig/$^
+ install -m664 $^ $(DESTDIR)$(libdir)/pkgconfig/
install-headers:
- @echo Installing juce_dll
+ @echo Installing JUCE headers
install -d $(DESTDIR)$(includedir)/juce
cd $(JUCE_PATH) && find modules/ -type f -name "juce_*.h" -exec cp --parent {} $(DESTDIR)$(includedir)/juce \;
cd $(JUCE_PATH) && find modules/juce_box2d/box2d/ -type f -name "*.h" -exec cp --parent {} $(DESTDIR)$(includedir)/juce \;
-install: install-headers install-lib install-pkgconfig
+install: install-headers install-lib-release install-lib-debug install-pkgconfig
-include $(OBJECTS:%.o=%.d)
-test:
- $(MAKE) -C $(DEMO_PATH)
-
introjucer: $(OUTDIR)/$(TARGET_RELEASE)
- $(MAKE) -C $(INTROJUCER_PATH) CONFIG=Release CPPFLAGS="$(CPPFLAGS) $(JUCELIBS_CPPFLAGS)" CFLAGS="$(CFLAGS) $(JUCELIBS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(JUCELIBS_LIBS)"
+ $(MAKE) -C $(INTROJUCER_PATH) CONFIG=Release CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
-juce.pc: juce.pc.in
+juce-dbg.pc juce.pc: juce.pc.in
sed \
-e 's|@prefix@|$(prefix)|g' \
-e 's|@libdir@|$(libdir)|g' \
--
juce packaging
More information about the pkg-multimedia-commits
mailing list