profiles = desktop desktoptopics = email media mobile office scheduling web lcdesktoptopics = email office web lcgroups = all eu desktoptopiclists = $(patsubst %,profiles/desktop-%,$(desktoptopics)) desktoptopiclcgrouplists = $(foreach topic,$(lcdesktoptopics),\ profiles/desktop-$(topic)-%) desktoptweaks = tweaks/base tweaks/desktop basefiles = $(patsubst %,content/%/base/preseed.cfg,$(profiles)) topicfiles = $(patsubst %,content/desktop/%/preseed.cfg,$(desktoptopics)) lcgroupfiles = $(foreach lcgroup,$(lcgroups),\ $(patsubst %,content/desktop/%-$(lcgroup)/preseed.cfg,$(lcdesktoptopics))) mainfiles = $(patsubst %,content/%/preseed.cfg,$(profiles)) mainlcgroupfiles = $(patsubst %,content/desktop/%/preseed.cfg,$(lcgroups)) allfiles = $(basefiles) $(topicfiles) $(lcgroupfiles) $(mainfiles) $(mainlcgroupfiles) mdfiles = content/MD5SUMS shafiles = $(patsubst %,content/SHA%SUMS,1 256 512) checksumfiles = $(mdfiles) $(shafiles) signfiles = $(patsubst %,%.sign,$(checksumfiles)) info = content/NEWS all: $(checksumfiles) $(info) sign: $(signfiles) $(basefiles): content/%/base/preseed.cfg : skel/preseed.cfg.in profiles/% profiles/%-z $(desktoptweaks) bin/pkglist2preseed $(filter skel/%,$^) $@ "$(filter profiles/%,$^)" "$(filter tweaks/%,$^)" $(topicfiles): content/desktop/%/preseed.cfg : skel/preseed.cfg.in profiles/desktop profiles/desktop-% profiles/desktop-z $(desktoptweaks) bin/pkglist2preseed $(filter skel/%,$^) $@ "$(filter profiles/%,$^)" "$(filter tweaks/%,$^)" $(lcgroupfiles): content/desktop/%/preseed.cfg : skel/preseed.cfg.in profiles/desktop profiles/desktop-% profiles/desktop-z $(desktoptweaks) bin/pkglist2preseed $(filter skel/%,$^) $@ "$(filter profiles/%,$^)" "$(filter tweaks/%,$^)" $(mainfiles): content/%/preseed.cfg : skel/preseed.cfg.in profiles/% $(desktoptopiclists) profiles/%-z $(desktoptweaks) bin/pkglist2preseed $(filter skel/%,$^) $@ "$(filter profiles/%,$^)" "$(filter tweaks/%,$^)" $(mainlcgroupfiles): content/desktop/%/preseed.cfg : skel/preseed.cfg.in profiles/desktop $(desktoptopiclists) $(desktoptopiclcgrouplists) profiles/desktop-z $(desktoptweaks) bin/pkglist2preseed $(filter skel/%,$^) $@ "$(filter profiles/%,$^)" "$(filter tweaks/%,$^)" $(mdfiles): content/MD%SUMS: $(allfiles) cd content && md$*sum $(allfiles:content/%=%) > MD$*SUMS~ rm -f $@.sign mv -f $@~ $@ $(shafiles): content/SHA%SUMS: $(allfiles) cd content && sha$*sum $(allfiles:content/%=%) > SHA$*SUMS~ rm -f $@.sign mv -f $@~ $@ $(signfiles): %.sign: % rm -f $@ gpg --detach-sign -a -o $@ $< $(info): content/% : % cp -f $< $@ clean: rm -f $(allfiles) $(info) $(checksumfiles) $(signfiles)