allow building Debug and Release libraries
authorIOhannes m zmölnig <zmoelnig@umlautQ.umlaeute.mur.at>
Wed, 10 Feb 2016 19:28:05 +0000 (20:28 +0100)
committerIOhannes m zmölnig <zmoelnig@umlautQ.umlaeute.mur.at>
Wed, 10 Feb 2016 19:28:05 +0000 (20:28 +0100)
debian/libbuilder/Makefile

index c45e218191e81fd7185ba3dac543f4e079a6e9e8..d91d430a9d05236a915a41cdd85231c7c13c9096 100644 (file)
@@ -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)
-       -@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)
-       -@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' \