
OUT = out
SRC = src

ALL = ${OUT}/libtrm.so ${OUT}/libtrm.a

#CC = gcc
#CXX = g++
#AR = ar

################################################################################
all: $(ALL)

clean:
	@rm -rf $(OUT)

################################################################################
LIBTRM_SRCDIR = ${SRC}
LIBTRM_OUTDIR = ${OUT}
LIBTRM_SRC = $(wildcard ${LIBTRM_SRCDIR}/*.c)
LIBTRM_OBJ = $(patsubst %.c,${LIBTRM_OUTDIR}/%.o,$(notdir ${LIBTRM_SRC}))
LIBTRM_CFLAGS = ${CFLAGS} ${EXTRA_CFLAGS} ${DEBUG} -D_LINUX -fPIC -Iinclude
LIBTRM_SHARED_LIB = ${OUT}/libtrm.so

${LIBTRM_OUTDIR}/%.o: ${LIBTRM_SRCDIR}/%.c
	@mkdir -p ${LIBTRM_OUTDIR}
	@${CC} ${LIBTRM_CFLAGS} -o $@ -c $<

${LIBTRM_SHARED_LIB}: ${LIBTRM_OBJ}
	@mkdir -p ${OUT}
	@${CC} -o $@ -shared $^

################################################################################
LIBTRM_STATIC_LIB = ${OUT}/libtrm.a

${LIBTRM_STATIC_LIB}: ${LIBTRM_OBJ}
	@mkdir -p ${OUT}
	@${AR} rcs $@ $^

