Browse Source

Projucer: Fix clean and strip rules in generated makefiles

develop
reuk 2 years ago
parent
commit
b3b2be54cf
No known key found for this signature in database GPG Key ID: FCB43929F012EE5C
1 changed files with 30 additions and 5 deletions
  1. +30
    -5
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h

+ 30
- 5
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h View File

@@ -949,7 +949,18 @@ private:
return ""; return "";
}(); }();
out << " CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)" << preBuildDirectory << newLine
const auto targetsToClean = [&]
{
StringArray result;
for (const auto& target : targets)
if (target->type != build_tools::ProjectType::Target::AggregateTarget)
result.add (target->getBuildProduct());
return result;
}();
out << " CLEANCMD = rm -rf " << targetsToClean.joinIntoString (" ") << " $(JUCE_OBJDIR)" << preBuildDirectory << newLine
<< "endif" << newLine << "endif" << newLine
<< newLine; << newLine;
} }
@@ -1248,10 +1259,19 @@ private:
<< "\t$(V_AT)$(CLEANCMD)" << newLine << "\t$(V_AT)$(CLEANCMD)" << newLine
<< newLine; << newLine;
out << "strip:" << newLine
<< "\t@echo Stripping " << projectName << newLine
<< "\t-$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET)" << newLine
<< newLine;
out << "strip:" << newLine
<< "\t@echo Stripping " << projectName << newLine;
for (const auto& target : targets)
{
if (target->type != build_tools::ProjectType::Target::AggregateTarget
&& target->type != build_tools::ProjectType::Target::SharedCodeTarget)
{
out << "\t-$(V_AT)$(STRIP) --strip-unneeded " << target->getBuildProduct() << newLine;
}
}
out << newLine;
writeIncludeLines (out); writeIncludeLines (out);
} }
@@ -1273,6 +1293,7 @@ private:
String getPhonyTargetLine() const String getPhonyTargetLine() const
{ {
MemoryOutputStream phonyTargetLine; MemoryOutputStream phonyTargetLine;
phonyTargetLine.setNewLineString (getNewLineString());
phonyTargetLine << ".PHONY: clean all strip"; phonyTargetLine << ".PHONY: clean all strip";
@@ -1280,9 +1301,13 @@ private:
return phonyTargetLine.toString(); return phonyTargetLine.toString();
for (auto target : targets) for (auto target : targets)
{
if (target->type != build_tools::ProjectType::Target::SharedCodeTarget if (target->type != build_tools::ProjectType::Target::SharedCodeTarget
&& target->type != build_tools::ProjectType::Target::AggregateTarget) && target->type != build_tools::ProjectType::Target::AggregateTarget)
{
phonyTargetLine << " " << target->getPhonyName(); phonyTargetLine << " " << target->getPhonyName();
}
}
return phonyTargetLine.toString(); return phonyTargetLine.toString();
} }


Loading…
Cancel
Save