include make/defs/makefile.def include make/utils.mk make: c-x86-debug cpp-x86-debug c-x86-release cpp-x86-release go gosilly make-so make-so:${SO_DIR}/*.c @mkdir -p ${LIB_DIR} @for file in $? ; do \ path=$$(echo "$$file" | cut -f 2 -d '/'); \ out=$$(echo "$$path" | cut -f 1 -d '.'); \ ${CC} ${CFLAG_LIB} $$file -o ${LIB_DIR}/$$out.o;\ ${CC} -shared -o ${LIB_DIR}/$$out.so ${LIB_DIR}/$$out.o -ldl; \ done gosilly: libsilly.so silly.o CGO_CFLAGS=${CGO_CFGLAGS_DYN} \ CGO_LDFLAGS=${CGO_LDFLAGS_DYN} \ ${GO} build -o ${BIN_DIR}/silly.go golangc/silly.go .PHONY: libsilly.so libsilly.so: silly.o @rm -f ${BIN_DIR}/libsilly.so @mkdir -p ${LIB_DIR} ${CC} -shared -o ${LIB_DIR}/libsilly.so ${BIN_DIR}/silly.o @ln -s ../${LIB_DIR}/libsilly.so ${BIN_DIR}/libsilly.so .PHONY: silly.o silly.o: golangc/silly.c @mkdir -p ${BIN_DIR} ${CC} ${CFLAG_LIB} $? -o ${BIN_DIR}/silly.o c-x86-debug:${C_LANG_DIR}/*.c @mkdir -p ${BIN_DIR} @for file in $? ; do \ path=$$(echo "$$file" | cut -f 2 -d '/'); \ out=$$(echo "$$path" | cut -f 1 -d '.'); \ echo ${CC} ${CFLAG_DEBUG} -o ${BIN_DIR}/$$out.c.debug.${ARCH_X86} $$file; \ ${CC} ${CFLAG_DEBUG} -o ${BIN_DIR}/$$out.c.debug.${ARCH_X86} $$file -lpthread;\ done cpp-x86-debug:${CPP_LANG_DIR}/*.cpp @mkdir -p ${BIN_DIR} @for file in $? ; do \ path=$$(echo "$$file" | cut -f 2 -d '/'); \ out=$$(echo "$$path" | cut -f 1 -d '.'); \ echo ${CPP} ${CFLAG_DEBUG} -o ${BIN_DIR}/$$out.cpp.debug.${ARCH_X86} $$file; \ ${CPP} ${CFLAG_DEBUG} -o ${BIN_DIR}/$$out.cpp.debug.${ARCH_X86} $$file; \ done c-x86-release:${C_LANG_DIR}/*.c @mkdir -p ${BIN_DIR} @for file in $? ; do \ path=$$(echo "$$file" | cut -f 2 -d '/'); \ out=$$(echo "$$path" | cut -f 1 -d '.'); \ echo ${CC} ${CFLAG_RELEASE} -o ${BIN_DIR}/$$out.c.release.${ARCH_X86} $$file; \ ${CC} ${CFLAG_RELEASE} -o ${BIN_DIR}/$$out.c.release.${ARCH_X86} $$file; \ done cpp-x86-release:${CPP_LANG_DIR}/*.cpp @mkdir -p ${BIN_DIR} @for file in $? ; do \ path=$$(echo "$$file" | cut -f 2 -d '/'); \ out=$$(echo "$$path" | cut -f 1 -d '.'); \ echo ${CPP} ${CFLAG_RELEASE} -o ${BIN_DIR}/$$out.cpp.release.${ARCH_X86} $$file; \ ${CPP} ${CFLAG_RELEASE} -o ${BIN_DIR}/$$out.cpp.release.${ARCH_X86} $$file; \ done go:${GO_LANG_DIR}/*.go @mkdir -p ${BIN_DIR} @for file in $? ; do \ path=$$(echo "$$file" | cut -f 2 -d '/'); \ echo ${GO} build ${GO_FLAGS} -o ${BIN_DIR}/$$path $$file; \ ${GO} build ${GO_FLAGS} -o ${BIN_DIR}/$$path $$file; \ done c-arm:${C_LANG_DIR}/*.c @mkdir -p ${BIN_DIR} @for file in $? ; do \ path=$$(echo "$$file" | cut -f 2 -d '/'); \ out=$$(echo "$$path" | cut -f 1 -d '.'); \ echo ${CC} ${CFLAG} -o ${BIN_DIR}/$$out.c.${ARCH} $$file; \ ${CC_ARM} ${ARM_CFLAG} -o ${BIN_DIR}/$$out.c.${ARCH_ARM} $$file; \ done c-asm-x86: @mkdir -p ${ASM_X86_OUT} ${CC} ${ASM_C_FLAGS} ${C_LANG_DIR}/*.c @mv *.s ${ASM_X86_OUT} c-asm-arm: @mkdir -p ${ASM_ARM_OUT} ${CC_ARM} ${ASM_ARM_C_FLAGS} ${C_LANG_DIR}/*.c @mv *.s ${ASM_ARM_OUT} clean: @rm -rf ${BIN_DIR} ${ASM_ARM_OUT} ${ASM_X86_OUT} ${LIB_DIR}