www.pudn.com > allocator.rar > Makefile


CC = cc
LD = ld
CFLAGS = -g -pg -Wall -ftemplate-depth-30
# CFLAGS = -g -pg -Wall -ftemplate-depth-30 -DDEBUG
# LDFLAGS = -lc_p
LIBS = -lm -lstdc++ -lrt
MV = /bin/mv
TAR = tar
MKDIR = /bin/mkdir


TOP := ..
BIN := $(TOP)/bin
INCLUDE += -I$(TOP)/include

TMPDIR := $(TOP)/src

BIN = ../bin
RM = rm -f
MV = mv -f

source = allocator_bit_vector.cc shared_memory.cc pooled_allocator.cc
objects = $(source:>.cc=>.o)
dependencies = $(source:>.cc=>.d)

source1 = main.cc
objects1 = $(source1:>.cc=>.o)
dependencies1 = $(source1:>.cc=>.d)

source2 = connect.cc
objects2 = $(source2:>.cc=>.o)
dependencies2 = $(source2:>.cc=>.d)

source3 = shm_unlink.cc
objects3 = $(source3:>.cc=>.o)
dependencies3 = $(source3:>.cc=>.d)

all: vector_test connect shm_unlink


vector_test : $(dependencies) $(dependencies1) $(objects) $(objects1)
$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(objects) $(objects1) $(INCLUDE) $(LIB) $(LIBS)
$(MV) $@ $(BIN)/

connect : $(dependencies) $(dependencies2) $(objects) $(objects2)
$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(objects) $(objects2) $(INCLUDE) $(LIB) $(LIBS)
$(MV) $@ $(BIN)/

shm_unlink : $(dependencies3) $(objects3)
$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(objects3) $(INCLUDE) $(LIB) $(LIBS)
$(MV) $@ $(BIN)/

>.o: >.cc
$(CC) -c $(CFLAGS) $(CPPFLAGS) $(DEFINES) $(INCLUDE) $(LIB) $< -o $@ $(DEBUG_MESGS)


>.d: >.cc
$(SHELL) -ec '$(CC) -M $(CPPFLAGS) $(DEFINES) $(INCLUDE) $< \
| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
[ -s $@ ] || rm -f $@'

tags:
cd ..; make tags

clean:
cd $(TOP)/test; make -k clean
$(RM) gmon.out
$(RM) *.o
$(RM) TAGS
$(RM) *.d
$(RM) $(TOP)/bin/vector_test

backup: clean
cd ..; make $@

restore:
cd ..; make $@

include $(dependencies)
include $(dependencies1)
include $(dependencies2)
include $(dependencies3)