maintopics = 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,$(maintopics)) topicfiles = $(patsubst %,content/desktop/%/preseed.cfg,$(desktoptopics)) lcgroupfiles = $(foreach lcgroup,$(lcgroups),\ $(patsubst %,content/desktop/%-$(lcgroup)/preseed.cfg,$(lcdesktoptopics))) mainfiles = $(patsubst %,content/%/preseed.cfg,$(maintopics)) mainlcgroupfiles = $(patsubst %,content/desktop/%/preseed.cfg,$(lcgroups)) profiles-di = $(basefiles) $(topicfiles) $(lcgroupfiles) $(mainfiles) $(mainlcgroupfiles) profiles-script = $(patsubst %/preseed.cfg,%/script.sh,$(profiles-di)) profiles = $(profiles-di) $(profiles-script) 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/%,$^)" $(profiles-script): %script.sh : %preseed.cfg $(mdfiles): content/MD%SUMS: $(profiles) cd content && md$*sum $(profiles:content/%=%) > MD$*SUMS~ rm -f $@.sign mv -f $@~ $@ $(shafiles): content/SHA%SUMS: $(profiles) cd content && sha$*sum $(profiles:content/%=%) > SHA$*SUMS~ rm -f $@.sign mv -f $@~ $@ $(signfiles): %.sign: % rm -f $@ gpg --detach-sign -a -o $@ $< $(info): content/% : % cp -f $< $@ clean: rm -f $(profiles) $(info) $(checksumfiles) $(signfiles)