summaryrefslogtreecommitdiffstats
path: root/Makefile.custom
blob: 8f6a34dce757e691d46faf691fa7e0127fadbb8a (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Custom Makefile outside of regular product Makefiles to:
#  1) Generate a makefile suitable for external/public use providing a self-hosted schedule compliation
#  2) Publish schedules in Fedora
#  3) Generate special xsl reports combining two team schedules into one
#
#
# poelstra@redhat.com
# 2010-10-27
#
# Include this file AFTER the program/common/Makefile.common as it depends on some of 
# the variables defined in that file
# 
# All variables not defined herein are found in ecs/program/common/Makefile.common
# or ./Makefile
# Here are their definitions for easy reference (2008-09-06):
#    RELEASE = {CONTENT}-${MAJOR}
#    MASTER = ${RELEASE}.tjp (as a target this builds the schedules)
#    TASKJUGGLER   = taskjuggler
#    DEFAULT_INDEX = tasks-overview.html
#    TASKJUGGLERENV = TZ='America/New_York'


LOGIN       = poelstra
DESTINATION = fedorapeople.org:~/public_html/schedules

INCLUDE_FILES = reports.tji 

# Generate a special makefile for Fedora users to self-host schedule compliation
Makefile.fedora: all
	echo "$(RELEASE): $(MASTER) $(INCLUDE_FILES)" > $@
	echo "	$(TASKJUGGLER) $(MASTER)" >> $@
	echo " " >> $@
	echo "clean: " >> $@  
	echo "	rm -f *~ *.html *.ics *-interface.tji *.tjx" *.csv >> $@
	xsltproc combine-docs-translation.xsl ${MASTER_XML} > ${RELEASE}-docs-and-trans-tasks.html
	xsltproc combine-docs-releng.xsl ${MASTER_XML} > ${RELEASE}-docs-and-releng-tasks.html

# target to transfer the files needed for a self-hosted build of the schedule
# and the html and ics files from a local build
publish: clean all Makefile.fedora 
	rsync -av ${RELEASE}-*html ${LOGIN}@${DESTINATION}/${RELEASE}/
	rsync -av ${RELEASE}-*ics  ${LOGIN}@${DESTINATION}/${RELEASE}/
	rsync -av ${MASTER} ${INCLUDE_FILES} ${LOGIN}@${DESTINATION}/${RELEASE}/source
	rsync -av Makefile.fedora ${LOGIN}@${DESTINATION}/${RELEASE}/source/Makefile
	rsync -av self-hosting.readme ${LOGIN}@${DESTINATION}/${RELEASE}/source/readme

calendar: clean all
	for file in `find . -name \*-weekly.csv`; do \
		echo "processing file: $$file"; \
		/usr/bin/python format-weekly-calendar.py $$file > $$file.txt; \
	done;
	/usr/bin/gedit *csv.txt; 

# These are rules to work with an "upstream" git repo
GITREPO_URL=file:///home/pfrields/fedora/projects/ecs-git-test/
GITREPO_LOC=ecs-git-test

.git:
	@( git clone --no-hardlinks ${GITREPO_URL} ${GITREPO_LOC} && \
	mv ${GITREPO_LOC}/.git . && \
	rm -rf ${GITREPO_LOC} )

pull-from-git: .git
	@git pull

# This needs work -- need to ignore all the work product stuff,
# including .csv and other stuff created by other rules. That would
# be easier if the common Makefile stuff actually listed them as the
# contents of a make variable!
diff-from-git: .git
	@git diff