Subversion Repositories AndroidProjects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
204 chris 1
#****************************************************************************
2
#
3
# Makefile for TinyXml test.
4
# Lee Thomason
5
# www.grinninglizard.com
6
#
7
# This is a GNU make (gmake) makefile
8
#****************************************************************************
9
 
10
# DEBUG can be set to YES to include debugging info, or NO otherwise
11
DEBUG          := NO
12
 
13
# PROFILE can be set to YES to include profiling info, or NO otherwise
14
PROFILE        := NO
15
 
16
# TINYXML_USE_STL can be used to turn on STL support. NO, then STL
17
# will not be used. YES will include the STL files.
18
TINYXML_USE_STL := NO
19
 
20
#****************************************************************************
21
 
22
CC     := gcc
23
CXX    := g++
24
LD     := g++
25
AR     := ar rc
26
RANLIB := ranlib
27
 
28
DEBUG_CFLAGS     := -Wall -Wno-unknown-pragmas -Wno-format -g -DDEBUG
29
RELEASE_CFLAGS   := -Wall -Wno-unknown-pragmas -Wno-format -O3
30
 
31
LIBS		 :=
32
 
33
DEBUG_CXXFLAGS   := ${DEBUG_CFLAGS}
34
RELEASE_CXXFLAGS := ${RELEASE_CFLAGS}
35
 
36
DEBUG_LDFLAGS    := -g
37
RELEASE_LDFLAGS  :=
38
 
39
ifeq (YES, ${DEBUG})
40
   CFLAGS       := ${DEBUG_CFLAGS}
41
   CXXFLAGS     := ${DEBUG_CXXFLAGS}
42
   LDFLAGS      := ${DEBUG_LDFLAGS}
43
else
44
   CFLAGS       := ${RELEASE_CFLAGS}
45
   CXXFLAGS     := ${RELEASE_CXXFLAGS}
46
   LDFLAGS      := ${RELEASE_LDFLAGS}
47
endif
48
 
49
ifeq (YES, ${PROFILE})
50
   CFLAGS   := ${CFLAGS} -pg -O3
51
   CXXFLAGS := ${CXXFLAGS} -pg -O3
52
   LDFLAGS  := ${LDFLAGS} -pg
53
endif
54
 
55
#****************************************************************************
56
# Preprocessor directives
57
#****************************************************************************
58
 
59
ifeq (YES, ${TINYXML_USE_STL})
60
  DEFS := -DTIXML_USE_STL
61
else
62
  DEFS :=
63
endif
64
 
65
#****************************************************************************
66
# Include paths
67
#****************************************************************************
68
 
69
#INCS := -I/usr/include/g++-2 -I/usr/local/include
70
INCS :=
71
 
72
 
73
#****************************************************************************
74
# Makefile code common to all platforms
75
#****************************************************************************
76
 
77
CFLAGS   := ${CFLAGS}   ${DEFS}
78
CXXFLAGS := ${CXXFLAGS} ${DEFS}
79
 
80
#****************************************************************************
81
# Targets of the build
82
#****************************************************************************
83
 
84
OUTPUT := xmltest
85
 
86
all: ${OUTPUT}
87
 
88
 
89
#****************************************************************************
90
# Source files
91
#****************************************************************************
92
 
93
SRCS := tinyxml.cpp tinyxmlparser.cpp xmltest.cpp tinyxmlerror.cpp tinystr.cpp
94
 
95
# Add on the sources for libraries
96
SRCS := ${SRCS}
97
 
98
OBJS := $(addsuffix .o,$(basename ${SRCS}))
99
 
100
#****************************************************************************
101
# Output
102
#****************************************************************************
103
 
104
${OUTPUT}: ${OBJS}
105
	${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}
106
 
107
#****************************************************************************
108
# common rules
109
#****************************************************************************
110
 
111
# Rules for compiling source files to object files
112
%.o : %.cpp
113
	${CXX} -c ${CXXFLAGS} ${INCS} $< -o $@
114
 
115
%.o : %.c
116
	${CC} -c ${CFLAGS} ${INCS} $< -o $@
117
 
118
clean:
119
	-rm -f core ${OBJS} ${OUTPUT}
120
 
121
depend:
122
	#makedepend ${INCS} ${SRCS}
123
 
124
tinyxml.o: tinyxml.h tinystr.h
125
tinyxmlparser.o: tinyxml.h tinystr.h
126
xmltest.o: tinyxml.h tinystr.h
127
tinyxmlerror.o: tinyxml.h tinystr.h