-# $Header: /home/amb/routino/src/RCS/Makefile,v 1.36 2010/07/09 17:43:00 amb Exp $
+# $Header: /home/amb/routino/src/RCS/Makefile,v 1.42 2010/09/17 17:42:20 amb Exp $
#
# Source code Makefile
#
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-# Programs
+# Web file paths
+
+WEBDIR=../web/bin
+
+# Compilation programs
CC=gcc
LD=gcc
LEX=flex
-# Program options
+# Compilation program options
CFLAGS=-Wall -Wmissing-prototypes
#CFLAGS+= -Wextra -pedantic -std=c99
LDFLAGS=-lm -lc
CFLAGS+= -O3
-#CFLAGS+= -O0 -g
+CFLAGS+= -O0 -g
#CFLAGS+= -pg
#CFLAGS+= --coverage
C=$(wildcard *.c)
D=$(foreach f,$(C),$(addprefix .deps/,$(addsuffix .d,$(basename $f))))
-EXE=planetsplitter router filedumper tagmodifier
-
-WEBDIR=../web/bin
+EXE=planetsplitter planetsplitter-slim router router-slim filedumper filedumper-slim tagmodifier
########
########
PLANETSPLITTER_OBJ=planetsplitter.o \
- nodesx.o segmentsx.o waysx.o superx.o \
+ nodesx.o segmentsx.o waysx.o relationsx.o superx.o \
ways.o types.o \
files.o \
results.o queue.o sorting.o \
########
+PLANETSPLITTER_SLIM_OBJ=planetsplitter-slim.o \
+ nodesx-slim.o segmentsx-slim.o waysx-slim.o relationsx-slim.o superx-slim.o \
+ ways.o types.o \
+ files.o \
+ results.o queue.o sorting.o \
+ xmlparse.o tagging.o osmparser.o
+
+planetsplitter-slim : $(PLANETSPLITTER_SLIM_OBJ)
+ $(LD) $(PLANETSPLITTER_SLIM_OBJ) -o $@ $(LDFLAGS)
+
+########
+
ROUTER_OBJ=router.o \
- nodes.o segments.o ways.o types.o \
+ nodes.o segments.o ways.o types.o fakes.o \
+ optimiser.o output.o \
files.o profiles.o xmlparse.o \
- optimiser.o output.o results.o queue.o translations.o
+ results.o queue.o translations.o
router : $(ROUTER_OBJ)
$(LD) $(ROUTER_OBJ) -o $@ $(LDFLAGS)
########
+ROUTER_SLIM_OBJ=router-slim.o \
+ nodes-slim.o segments-slim.o ways-slim.o types.o fakes.o \
+ optimiser-slim.o output-slim.o \
+ files.o profiles.o xmlparse.o \
+ results.o queue.o translations.o
+
+router-slim : $(ROUTER_SLIM_OBJ)
+ $(LD) $(ROUTER_SLIM_OBJ) -o $@ $(LDFLAGS)
+
+########
+
FILEDUMPER_OBJ=filedumper.o \
nodes.o segments.o ways.o types.o \
- files.o xmlparse.o \
- visualiser.o
+ visualiser.o \
+ files.o xmlparse.o
filedumper : $(FILEDUMPER_OBJ)
$(LD) $(FILEDUMPER_OBJ) -o $@ $(LDFLAGS)
########
+FILEDUMPER_SLIM_OBJ=filedumper-slim.o \
+ nodes-slim.o segments-slim.o ways-slim.o types.o \
+ visualiser-slim.o \
+ files.o xmlparse.o
+
+filedumper-slim : $(FILEDUMPER_SLIM_OBJ)
+ $(LD) $(FILEDUMPER_SLIM_OBJ) -o $@ $(LDFLAGS)
+
+########
+
TAGMODIFIER_OBJ=tagmodifier.o \
files.o \
xmlparse.o tagging.o
########
%.o : %.c
- $(CC) -c $(CFLAGS) $(FLAGS64) $< -o $@ -MMD -MP -MF $(addprefix .deps/,$(addsuffix .d,$(basename $<)))
+ $(CC) -c $(CFLAGS) $(FLAGS64) -DSLIM=0 -DDATADIR=\"$(datadir)\" $< -o $@ -MMD -MP -MF $(addprefix .deps/,$(addsuffix .d,$(basename $<)))
+
+%-slim.o : %.c
+ $(CC) -c $(CFLAGS) $(FLAGS64) -DSLIM=1 -DDATADIR=\"$(datadir)\" $< -o $@ -MMD -MP -MF $(addprefix .deps/,$(addsuffix .d,$(basename $<)))
+
+########
+
+install: all
+ -[ -d $(DESTDIR)$(bindir) ] || mkdir -p $(DESTDIR)$(bindir)
+ @[ -d $(DESTDIR)$(bindir) ] && \
+ for file in $(EXE); do \
+ echo cp $$file $(DESTDIR)$(bindir) ;\
+ cp -f $$file $(DESTDIR)$(bindir) ;\
+ done
########
########
.FORCE :
+
+########
+
+top=-top
+include ../Makefile