Makefile 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. include ../Makefile.rule
  2. HEADERS = $(wildcard *.h)
  3. ORG_SOURCES = $(wildcard *.c)
  4. OUT_SRC = test.c joylink_porting_layer.c
  5. SOURCES=$(filter-out ${OUT_SRC}, ${ORG_SOURCES})
  6. OBJS = $(patsubst %.c, %.o, $(SOURCES))
  7. LIBNAME = $(strip ${shell pwd |xargs basename})
  8. INCLUDES += -I${PROJECT_ROOT_PATH}/json
  9. INCLUDES += -I${PROJECT_ROOT_PATH}/extern
  10. INCLUDES += -I${PROJECT_ROOT_PATH}/joylink
  11. INCLUDES += -I${PROJECT_ROOT_PATH}/auth
  12. STATIC_LIBS += ${TARGET_LIB}/libjson.a
  13. LIBS += -lm
  14. ifeq (${ARCH}, x86)
  15. all:${OBJS} liba libso
  16. else
  17. all:${OBJS} liba
  18. endif
  19. .SUFFIXES: .c .o
  20. .c.o:
  21. ${CC} ${CFLAGS} -c $(INCLUDES) ${STATIC_LIBS} $(LIBS) $*.c
  22. liba:${OBJS}
  23. ${AR} -crs lib${LIBNAME}.a ${OBJS}
  24. ${MV} lib${LIBNAME}.a ${TARGET_LIB}
  25. libso:${OBJS}
  26. ${CC} ${OBJS} -shared -fPIC -o lib${LIBNAME}.so
  27. ${MV} lib${LIBNAME}.so ${TARGET_LIB}
  28. test:
  29. ${CC} -DLIB_TEST test.c -o $@ ${CFLAGS} ${INCLUDES} ${STATIC_LIBS} ${LIBS}
  30. clean:
  31. ${RM} *.o *.so *.a test
  32. distclean:clean
  33. ${RM} ./*.a ./*.so ${TARGET_LIB}/lib${LIBNAME}.*
  34. .PHONY:all clean test jt