1#**************************************************************************** 2# 3# Makefil 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 11DEBUG := YES 12 13# PROFILE can be set to YES to include profiling info, or NO otherwise 14PROFILE := NO 15 16#**************************************************************************** 17 18CC := gcc 19CXX := g++ 20LD := g++ 21AR := ar rc 22RANLIB := ranlib 23 24DEBUG_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -g -DDEBUG 25RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -O2 26 27LIBS := 28 29DEBUG_CXXFLAGS := ${DEBUG_CFLAGS} 30RELEASE_CXXFLAGS := ${RELEASE_CFLAGS} 31 32DEBUG_LDFLAGS := -g 33RELEASE_LDFLAGS := 34 35ifeq (YES, ${DEBUG}) 36 CFLAGS := ${DEBUG_CFLAGS} 37 CXXFLAGS := ${DEBUG_CXXFLAGS} 38 LDFLAGS := ${DEBUG_LDFLAGS} 39else 40 CFLAGS := ${RELEASE_CFLAGS} 41 CXXFLAGS := ${RELEASE_CXXFLAGS} 42 LDFLAGS := ${RELEASE_LDFLAGS} 43endif 44 45ifeq (YES, ${PROFILE}) 46 CFLAGS := ${CFLAGS} -pg 47 CXXFLAGS := ${CXXFLAGS} -pg 48 LDFLAGS := ${LDFLAGS} -pg 49endif 50 51#**************************************************************************** 52# Preprocessor directives 53#**************************************************************************** 54 55ifeq (YES, ${PROFILE}) 56 DEFS := 57else 58 DEFS := 59endif 60 61#**************************************************************************** 62# Include paths 63#**************************************************************************** 64 65#INCS := -I/usr/include/g++-2 -I/usr/local/include 66INCS := 67 68 69#**************************************************************************** 70# Makefile code common to all platforms 71#**************************************************************************** 72 73CFLAGS := ${CFLAGS} ${DEFS} 74CXXFLAGS := ${CXXFLAGS} ${DEFS} 75 76#**************************************************************************** 77# Targets of the build 78#**************************************************************************** 79 80OUTPUT := xmltest 81 82all: ${OUTPUT} 83 84 85#**************************************************************************** 86# Source files 87#**************************************************************************** 88 89SRCS := tinyxml.cpp tinyxmlparser.cpp xmltest.cpp tinyxmlerror.cpp 90 91# Add on the sources for libraries 92SRCS := ${SRCS} 93 94OBJS := $(addsuffix .o,$(basename ${SRCS})) 95 96#**************************************************************************** 97# Output 98#**************************************************************************** 99 100${OUTPUT}: ${OBJS} 101 ${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS} 102 103#**************************************************************************** 104# common rules 105#**************************************************************************** 106 107# Rules for compiling source files to object files 108%.o : %.cpp 109 ${CXX} -c ${CXXFLAGS} ${INCS} $< -o $@ 110 111%.o : %.c 112 ${CC} -c ${CFLAGS} ${INCS} $< -o $@ 113 114clean: 115 -rm -f core ${OBJS} ${OUTPUT} 116 117depend: 118 makedepend ${INCS} ${SRCS} 119# DO NOT DELETE 120 121tinyxml.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h 122tinyxml.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h 123tinyxml.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h 124tinyxml.o: /usr/include/bits/sched.h /usr/include/libio.h 125tinyxml.o: /usr/include/_G_config.h /usr/include/wchar.h 126tinyxml.o: /usr/include/bits/wchar.h /usr/include/gconv.h 127tinyxml.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h 128tinyxmlparser.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h 129tinyxmlparser.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h 130tinyxmlparser.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h 131tinyxmlparser.o: /usr/include/bits/sched.h /usr/include/libio.h 132tinyxmlparser.o: /usr/include/_G_config.h /usr/include/wchar.h 133tinyxmlparser.o: /usr/include/bits/wchar.h /usr/include/gconv.h 134tinyxmlparser.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h 135tinyxmlparser.o: /usr/include/ctype.h /usr/include/endian.h 136tinyxmlparser.o: /usr/include/bits/endian.h 137xmltest.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h 138xmltest.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h 139xmltest.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h 140xmltest.o: /usr/include/bits/sched.h /usr/include/libio.h 141xmltest.o: /usr/include/_G_config.h /usr/include/wchar.h 142xmltest.o: /usr/include/bits/wchar.h /usr/include/gconv.h 143xmltest.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h 144tinyxmlerror.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h 145tinyxmlerror.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h 146tinyxmlerror.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h 147tinyxmlerror.o: /usr/include/bits/sched.h /usr/include/libio.h 148tinyxmlerror.o: /usr/include/_G_config.h /usr/include/wchar.h 149tinyxmlerror.o: /usr/include/bits/wchar.h /usr/include/gconv.h 150tinyxmlerror.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h 151