File: user.mk

package info (click to toggle)
theme-d 7.2.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 21,036 kB
  • sloc: lisp: 9,625; sh: 5,321; makefile: 715; ansic: 477
file content (124 lines) | stat: -rw-r--r-- 2,733 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
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124

MODULES = \
  platform-specific-impl \
  basic-math \
  binary-file-io \
  bitwise-arithmetic \
  bvm-diag-matrix \
  bvm-matrices \
  bvm-matrix-base \
  bytevector \
  command-line-parser \
  complex \
  console-io \
  core \
  core-forms \
  core-forms2 \
  dynamic-list \
  files \
  goops-classes \
  hash-table0 \
  hash-table \
  hash-table-opt \
  iterator \
  list-utilities \
  math \
  matrix \
  mutable-pair \
  nonpure-iterator \
  object-string-conversion \
  plugins \
  promise \
  rational \
  real-math \
  singleton \
  stream \
  string-utilities \
  text-file-io \
  statprof \
  system

EXTRA_MATH = 1
POSIX_MATH = 1

ifdef EXTRA_MATH
  MODULES += extra-math
endif

ifdef POSIX_MATH
  MODULES += posix-math
endif

PLATFORM_INTF = platform-specific-impl-guile-3.0.thi
PLATFORM_BODY = platform-specific-impl-guile-3.0.thb

INTERFACE_TARGET = $(MODULES:%=%.tci)
BODY_TARGET = $(MODULES:%=%.tcb)
INTERFACE_LINKED = $(MODULES:%=__intf_%.go)
BODY_LINKED = $(MODULES:%=__impl_%.go)
INTERFACE_AUX = $(MODULES:%=__intf_%.aux)
BODY_AUX = $(MODULES:%=__impl_%.aux)

BODY_LINKED0 = $(patsubst %,__impl_%.go,$(filter-out statprof,$(MODULES)))

EXTRA_COMP_OPTIONS ?=
EXTRA_LINK_OPTIONS ?=

COMPILE ?= theme-d-compile
LINK ?= theme-d-link

.PHONY: all clean link-clean pcode-modules link-modules link-bodies

all: pcode-modules link-modules

pcode-modules: $(INTERFACE_TARGET) $(BODY_TARGET)

link-modules: link-interfaces link-bodies

link-interfaces: $(MODULES:%=__intf_%.go) $(MODULES:%=__intf_%.aux)

link-bodies: $(MODULES:%=__impl_%.go) $(MODULES:%=__impl_%.aux)

%.tci : %.thi
	$(COMPILE) -m .. -o $@ $(EXTRA_COMP_OPTIONS) $<

%.tcb : %.thb
	$(COMPILE) -m .. -o $@ $(EXTRA_COMP_OPTIONS) $<

$(INTERFACE_LINKED) : __intf_%.go : %.tci
	$(LINK) --module -M ..: -o $@ $(EXTRA_LINK_OPTIONS) $<

$(INTERFACE_AUX) : __intf_%.aux : __intf_%.go

$(BODY_LINKED0) : __impl_%.go : %.tcb
	$(LINK) --module -M ..: -o $@ $(EXTRA_LINK_OPTIONS) $<

__impl_statprof.go : statprof.tcb
	$(LINK) --module -M ..: -x "(statprof)" -o $@ $(EXTRA_LINK_OPTIONS) $<

$(BODY_AUX) : __impl_%.aux : __impl_%.go

clean:
	-rm -f *.tc?
	-rm -f platform-specific-impl.thi
	-rm -f platform-specific-impl.thb
	-rm -f $(INTERFACE_LINKED) $(INTERFACE_AUX)
	-rm -f $(BODY_LINKED) $(BODY_AUX)

link-clean:
	-rm -f $(INTERFACE_LINKED) $(INTERFACE_AUX)
	-rm -f $(BODY_LINKED) $(BODY_AUX)

platform-specific-impl.thi: $(PLATFORM_INTF)
	ln -sf $(PLATFORM_INTF) platform-specific-impl.thi

platform-specific-impl.thb: $(PLATFORM_BODY)
	ln -sf $(PLATFORM_BODY) platform-specific-impl.thb

platform-specific-impl.tci : core-forms.tci

platform-specific-impl.tcb : platform-specific-impl.tci

__intf_platform-specific-impl.go : __intf_core-forms.go

include deps.mk