profiles = desktop desktoptopics = email office web lcgroups = all eu desktoptopiclists = $(patsubst %,profiles/desktop-%,$(desktoptopics)) 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,$(desktoptopics))) mainfiles = $(patsubst %,content/%/preseed.cfg,$(profiles)) allfiles = $(basefiles) $(topicfiles) $(lcgroupfiles) $(mainfiles) mdfiles = content/MD5SUMS shafiles = $(patsubst %,content/SHA%SUMS,1 256 512) checksumfiles = $(mdfiles) $(shafiles) signfiles = $(patsubst %,%.sign,$(checksumfiles)) all: $(checksumfiles) 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/%,$^)" $(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 $@ $<