aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Makefile.in
blob: 09d7ea2b0ce926bb3aefb3366034dfc73ef0786d (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
core_sources = bsdsignal.c cfuns-c.c sockio-c.c
terminal_io_sources = cursor.c edin.c fnct_key.c openpty.c prt.c wct.c
graphics_sources = \
		halloc.c \
		hash.c \
		pixmap.c \
		spadcolors.c \
		util.c \
		XDither.c \
		XShade.c \
		XSpadFill.c

libspad_la_sources = $(foreach comp, \
			 $(addsuffix _sources, @axiom_c_runtime@), \
			 $($(comp)))

libspad_la_SOURCES = $(addsuffix .pamphlet,$(libspad_la_sources))

other_sources = cfuns-c.c

other_SOURCES = $(addsuffix .pamphlet,$(other_sources))

unused_sources = emupty.c

libspad_la_objects = $(libspad_la_sources:.c=.lo)

other_objects = $(other_sources:.c=.$(OBJEXT))

pamphlets = Makefile.pamphlet $(libspad_la_SOURCES) $(other_SOURCES)

subdir = src/lib/

.PHONY: all all-lib
.SUFFIXES:
.SUFFIXES: .o .lo .obj .c .h

all: all-ax

all-ax all-lib: stamp
stamp: $(axiom_target_libdir)/libspad.la
	rm -f stamp
	$(STAMP) stamp

$(axiom_target_libdir)/libspad.la: $(libspad_la_objects)
	$(mkinstalldirs) $(axiom_target_libdir)
	$(LIBTOOL) --mode=link $(CC) -o $@ $(libspad_la_objects) \
		-rpath $(libdir)/axiom/target/$(target)/lib

.PRECIOUS: %.c

%.c: $(srcdir)/%.c.pamphlet
	$(axiom_build_document) --tangle --output=$@ $<

.PRECIOUS: %.$(OBJEXT) %.lo

%.lo: %.c $(axiom_c_macros_h)
	$(COMPILE) -o $@ $(CCF) $(axiom_includes) $(AXIOM_X11_CFLAGS) $<

# This is a support library, so it does not change often and
# we don't need to remove the produced objects in mostlyclean.
# The remoal is done by clean.
mostlyclean-local:
	@rm -f *.lo *.$(OBJEXT)

clean-local: mostlyclean-local
	@$(LIBTOOL) --mode=clean $(axiom_target_libdir)/libspad.la
	@rm -f $(other_objects)
	@rm -f $(libspad_la_sources) $(other_sources)
	@rm -fr .libs _libs
	@rm -f stamp

distclean-local: clean-local