summaryrefslogtreecommitdiffstats
path: root/ds9/make.include
blob: a88b359e21880dd5fad31372fc2dfdf09776b98b (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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#--------------------------parsers

vpath %.tac $(prefix)/ds9/parsers
vpath %.fcl $(prefix)/ds9/parsers

# -v generate output file
# -w generate warnings
# -d generate lexer table
$(prefix)/ds9/parsers/%parser.tcl : %parser.tac
#	tclsh $(prefix)/taccle/taccle.tcl -p $* -d $<
	tclsh $(prefix)/taccle/taccle.tcl -p $* -d -w -v $<
	echo "package provide DS9 1.0" | cat - $@ > tmp && mv tmp $@

# -d debug
$(prefix)/ds9/parsers/%lex.tcl : %lex.fcl
#	tclsh $(prefix)/fickle/fickle.tcl -P $* $<
	tclsh $(prefix)/fickle/fickle.tcl -P $* -d $<
	echo "package provide DS9 1.0" | cat - $@ > tmp && mv tmp $@

#--------------------------library

SRCP = $(wildcard $(prefix)/ds9/parsers/*.tac)
SRCL = $(wildcard $(prefix)/ds9/parsers/*.fcl)

$(LIBDIR)/library : $(SRCP:.tac=.tcl) $(SRCP:.tac=.tab.tcl) $(SRCL:.fcl=.tcl) $(prefix)/ds9/library/*.tcl
	mkdir -p "$@"
	cp -prf $? "$@"
# must do it this way for win
	cd "$@"; \
	echo "pkg_mkIndex . *.tcl; exit" | tclsh
	touch "$@"

#--------------------------support

$(LIBDIR)/msgs : $(prefix)/ds9/msgs
	cp -prf $? "$@"

$(LIBDIR)/doc : $(prefix)/ds9/doc
	cp -prf $? "$@"

$(LIBDIR)/cmaps : $(prefix)/ds9/cmaps
	cp -prf $? "$@"

$(LIBDIR)/template : $(prefix)/ds9/template
	cp -prf $? "$@"

#--------------------------tls

$(LIBDIR)/tls	: $(prefix)/tls/tls.tcl
	mkdir -p "$@"
	cp -prf $? "$@"
# must do it this way for win
	cd "$@"; \
	echo "pkg_mkIndex . *.tcl; exit" | tclsh

#--------------------------tkblt

$(LIBDIR)/tkblt	: $(prefix)/tkblt/library/*.tcl
	mkdir -p "$@"
	cp -p $? "$@"
# must do it this way for win
	cd "$@"; \
	echo "pkg_mkIndex . *.tcl; exit" | tclsh

#--------------------------tkcon

$(LIBDIR)/tkcon	: $(prefix)/tkcon
	cp -prf $? "$@"
# must do it this way for win
	cd "$@"; \
	echo "pkg_mkIndex . *.tcl; exit" | tclsh

#--------------------------tcllib

$(LIBDIR)/base64: $(prefix)/tcllib/modules/base64
	cp -prf $? "$@"

$(LIBDIR)/ftp	: $(prefix)/tcllib/modules/ftp
	cp -prf $? "$@"

$(LIBDIR)/log	: $(prefix)/tcllib/modules/log
	cp -prf $? "$@"

$(LIBDIR)/textutil: $(prefix)/tcllib/modules/textutil
	cp -prf $? "$@"

$(LIBDIR)/math	: $(prefix)/tcllib/modules/math
	cp -prf $? "$@"

#--------------------------distclean

.PHONY	: distclean parsersclean parsersdistclean

distclean: clean
	-rm -f Makefile config.cache config.log config.status
	-rm -rf autom4te.cache

parsersclean:
	-rm -rf $(prefix)/ds9/parsers/*# \
	    $(prefix)/ds9/parsers/*~ \
	    $(prefix)/ds9/parsers/*.output

parsersdistclean: parsersclean
	-rm -rf $(prefix)/ds9/parsers/*.tcl