blob: 5f1ea5353587b11c00f035e8c2fd9cae6f00680e (
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
|
# Makefile for libdom
#
# Toolchain is exported by top-level makefile
#
# Top-level makefile also exports the following variables:
#
# COMPONENT Name of component
# EXPORT Absolute path of export directory
# TOP Absolute path of source tree root
#
# The top-level makefile requires the following targets to exist:
#
# clean Clean source tree
# debug Create a debug binary
# distclean Fully clean source tree, back to pristine condition
# export Export distributable components to ${EXPORT}
# release Create a release binary
# setup Perform any setup required prior to compilation
# test Execute any test cases
# Manipulate include paths
CFLAGS += -I$(CURDIR)
# Release output
RELEASE = ${TOP}/${COMPONENT}-libxml.a
# Debug output
DEBUG = ${TOP}/${COMPONENT}-libxml-debug.a
# Objects
OBJS =
.PHONY: clean debug distclean export release setup test
# Targets
release: $(addprefix Release/, $(addsuffix .o, $(OBJS)))
@${MAKE} -C xml release
@${AR} ${ARFLAGS} $(RELEASE) Release/*
debug: $(addprefix Debug/, $(addsuffix .o, $(OBJS)))
@${MAKE} -C xml debug
@${AR} ${ARFLAGS} $(DEBUG) Debug/*
clean:
@${MAKE} -C xml clean
ifneq (${OBJS}, )
-@${RM} ${RMFLAGS} $(addprefix Release/, $(addsuffix .o, ${OBJS}))
-@${RM} ${RMFLAGS} $(addprefix Debug/, $(addsuffix .o, ${OBJS}))
endif
-@${RM} ${RMFLAGS} $(RELEASE) $(DEBUG)
distclean:
-@${RM} ${RMFLAGS} -r Release
-@${RM} ${RMFLAGS} -r Debug
setup:
@${MKDIR} ${MKDIRFLAGS} Release
@${MKDIR} ${MKDIRFLAGS} Debug
export:
@${CP} ${CPFLAGS} $(RELEASE) ${EXPORT}/lib/
test:
# Pattern rules
Release/%.o: %.c
@${ECHO} ${ECHOFLAGS} "==> $<"
@${CC} -c ${CFLAGS} -DNDEBUG -o $@ $<
Debug/%.o: %.c
@${ECHO} ${ECHOFLAGS} "==> $<"
@${CC} -c -g ${CFLAGS} -o $@ $<
|