blob: 9fd47ab2c0b2a72c6cc2831b503fea84009093aa [file] [log] [blame]
#Define bridge streaming lib
LIB=libuuid.a
# define the C++ compiler to use
CC=$(CROSS_COMPILE)-gcc
COMPILERFLAGS = -O0 -ggdb -g3 -fexceptions -Wno-write-strings -fvisibility=hidden -fPIC
# define any compile-time flags
CFLAGS= -g -Wall -rdynamic $(COMPILERFLAGS)
# define any directories containing header files other than /usr/include
#
INCLUDES=-I..
# define library paths in addition to /usr/lib
# if I wanted to include libraries not in /usr/lib I'd specify
# their path using -Lpath, something like:
LFLAGS=
# define any libraries to link into executable:
# if I want to link in libraries (libx.so or libx.a) I use the -llibname
# option, something like (this will link in libmylib.so and libm.so:
LIBS=-lpthread
# define the CPP source files
SRCS=clear.c compare.c copy.c gen_uuid.c isnull.c pack.c parse.c unpack.c unparse.c uuid_time.c
# define the C object files
#
# This uses Suffix Replacement within a macro:
# $(name:string1=string2)
# For each word in 'name' replace 'string1' with 'string2'
# Below we are replacing the suffix .c of all words in the macro SRCS
# with the .o suffix
#
OBJS=$(SRCS:.c=.o)
#
# The following part of the makefile is generic; it can be used to
# build any executable just by changing the definitions above and by
# deleting dependencies appended to the file from 'make depend'
#
.PHONY: depend clean
all: $(LIB) tests
#create static library
$(LIB): $(OBJS)
rm -f $(LIB)
$(CROSS_COMPILE)-ar -cvq $(LIB) $(OBJS)
# this is a suffix replacement rule for building .o's from .cpp's
# it uses automatic variables $<: the name of the prerequisite of
# the rule(a .cpp file) and $@: the name of the target of the rule (a .o file)
# (see the gnu make manual section about automatic variables)
.c.o:
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
clean:
$(RM) *.o $(LIB)
find ./ -iname "*.o" -exec $(RM) {} \;
tests: $(LIB) ./tst_uuid.c
$(CC) $(CFLAGS) $(INCLUDES) ./tst_uuid.c $(LIB) -o ./tst_uuid
depend: $(SRCS)
makedepend $(INCLUDES) $^
# DO NOT DELETE THIS LINE -- make depend needs it