File: Makefile

package info (click to toggle)
curry-tools 1.0.1%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 5,492 kB
  • ctags: 121
  • sloc: makefile: 470; sh: 421
file content (61 lines) | stat: -rw-r--r-- 1,908 bytes parent folder | download
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
# Makefile for generating Curry Browser

# Required:
# - installed Curry System (PAKCS or KiCS2) specified by variable REPL
# - root location of the Curry System specified by variable ROOT

CURRYTOOLS = ..
CASS       = $(CURRYTOOLS)/CASS
ANADIR     = $(CURRYTOOLS)/analysis

# binary
TOOL       = $(BINDIR)/$(CURRYSYSTEM)-browse

# source modules of the Curry Browser:
DEPS = BrowserGUI.curry Imports.curry \
       AnalysisTypes.curry BrowserAnalysis.curry \
       ShowFlatCurry.curry ShowGraph.curry \
       $(CASS)/AnalysisServer.curry $(CASS)/AnalysisDoc.curry \
       $(CASS)/Registry.curry \
       $(CURRYTOOLS)/addtypes/AddTypes.curry \
       $(CURRYTOOLS)/importcalls/ImportCalls.curry \
       $(LIBDIR)/GUI.curry $(LIBDIR)/IOExts.curry  $(LIBDIR)/System.curry \
       $(LIBDIR)/FlatCurry/Types.curry $(LIBDIR)/FlatCurry/Files.curry \
       $(LIBDIR)/FlatCurry/Show.curry \
       analysis/*.curry $(ANADIR)/*.curry

LOADPATH = analysis:$(CASS):$(ANADIR):$(CURRYTOOLS)/importcalls:$(CURRYTOOLS)/addtypes

.PHONY: all compile install clean uninstall

all: install

compile: GenInt BrowserGUI SourceProgGUI

install: compile
	rm -f $(TOOL) $(BINDIR)/currybrowse
	cd $(BINDIR) && ln -s ../currytools/browser/BrowserGUI $(notdir $(TOOL))

clean:
	$(CLEANCURRY) -r
	rm -f BrowserGUI SourceProgGUI GenInt

uninstall: clean
	rm -f $(TOOL)

# generate executables:
GenInt: ShowFlatCurry.curry $(LIBDIR)/FlatCurry/*.curry
	$(REPL) $(REPL_OPTS) :load ShowFlatCurry :save :quit
	rm -f GenInt && ln -s ShowFlatCurry GenInt

BrowserGUI: $(DEPS)
	$(REPL) $(REPL_OPTS) :set path $(LOADPATH) \
	  :load BrowserGUI :eval "patchReadmeVersion" :save :quit

SourceProgGUI: SourceProgGUI.curry $(LIBDIR)/GUI.curry
	$(REPL) $(REPL_OPTS) :load SourceProgGUI :save :quit

# load the Curry Browser program into the Curry system:
.PHONY: load
load: $(DEPS)
	$(REPL) $(REPL_OPTS) :set path $(LOADPATH) :load BrowserGUI