summaryrefslogtreecommitdiff
path: root/Makefile
blob: 05903c58364c67cec7837c3fa28c5b9dabf7229f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
AUDIO_SOURCES ?= none
WORK_DIR ?= /tmp
DGPREFIX ?= /usr/bin
DGVALIDATOR ?= $(DGPREFIX)/dgvalidator
FUSE_ZIP ?= fuse-zip
FUZERMOUNT ?= fusermount
ZIP ?= zip
MD5SUM ?= md5sum

KITS = \
	DRSKit2

.PHONY: tool-check $(KITS)

all:
	@echo Available targets: $(KITS)

tool-check:
	@$(DGVALIDATOR) --help > /dev/null 2>&1 || (echo "dgvalidator application not found"; false)
	@$(FUSE_ZIP) --help > /dev/null 2>&1 || (echo "fuse-zip application not found"; false)
	@$(FUSERMOUNT) --help > /dev/null 2>&1 || (echo "fusermount application not found"; false)
	@$(ZIP) --help > /dev/null 2>&1 || (echo "zip application not found"; false)
	@$(MD5SUM) --help > /dev/null 2>&1 || (echo "md5 application not found"; false)

DRSKit2: tool-check
# Target config:
	$(eval VER=2.1)
	$(eval FILES=DRSKit_basic.xml DRSKit_full.xml DRSKit_minimal.xml DRSKit_no_whiskers.xml DRSKit_whiskers_only.xml)
#
	$(eval ZIP_FILE=$(WORK_DIR)/$@-$(VER).zip)
	$(eval PATCH_FILE=$(WORK_DIR)/$@-$(VER)-patch.zip)
	mkdir -p $(WORK_DIR)
	[ ! -f $(ZIP_FILE) ] || rm -f $(ZIP_FILE)
	[ ! -f $(ZIP_FILE).md5 ] || rm -f $(ZIP_FILE).md5
	[ ! -f $(PATCH_FILE) ] || rm -f $(PATCH_FILE)
	[ ! -f $(PATCH_FILE).md5 ] || rm -f $(PATCH_FILE).md5
## Pre compress validation (no audio):
	$(foreach F,$(FILES),(echo "Validating $(F) (no audio)"; $(DGVALIDATOR) -p -D-all -n $@/$(F)) &&) true
## Compressed target creation:
	@[ $(AUDIO_SOURCES) != none ] || (echo "AUDIO_SOURCES not set"; false)
	@[ -d $(AUDIO_SOURCES)/$@ ] || (echo "$@ dir does not exist in AUDIO_SOURCES"; false)
	$(ZIP) -r $(ZIP_FILE) $@
	cp $(ZIP_FILE) $(PATCH_FILE)
	(cd $(AUDIO_SOURCES); $(ZIP) -r $(ZIP_FILE) $@)
#
	$(eval MOUNT_TARGET=$(WORK_DIR)/$@-$(VER).dir)
	mkdir -p $(MOUNT_TARGET)
	$(FUSE_ZIP) -r $(ZIP_FILE) $(MOUNT_TARGET)
	$(foreach F,$(FILES),(echo "Validating $(F) (with audio)"; $(DGVALIDATOR) -p -D-all $(MOUNT_TARGET)/$@/$(F)) &&) true
	$(FUZERMOUNT) -u $(MOUNT_TARGET)
	rmdir $(MOUNT_TARGET)
	$(MD5SUM) $(ZIP_FILE) > $(ZIP_FILE).md5
	$(MD5SUM) $(PATCH_FILE) > $(PATCH_FILE).md5