Edit

kc3-lang/kc3/libc3/Makefile

Branch :

  • libc3/Makefile
  • ## c3
    ## Copyright 2022,2023 kmx.io <contact@kmx.io>
    ##
    ## Permission is hereby granted to use this software excepted
    ## on Apple computers granted the above copyright notice and
    ## this permission paragraph are included in all copies and
    ## substantial portions of this software.
    ##
    ## THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
    ## PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
    ## AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
    ## THIS SOFTWARE.
    
    CLEANFILES = *.a *.gcno *.la .libs *.lo *.o
    
    CLEANFILES_COV = *.css *.gcda *.html .libs/*.gcda
    
    CLEANFILES += ${CLEANFILES_COV}
    
    DISTCLEANFILES = ${CLEANFILES} config.h config.mk
    
    build: libc3.la libc3.a
    
    all:
    	${MAKE} build
    	if ${HAVE_GCOV}; then ${MAKE} cov; fi
    	${MAKE} debug
    	if ${HAVE_ASAN}; then ${MAKE} asan; fi
    
    asan: libc3_asan.la libc3_asan.a
    
    clean:
    	rm -rf ${CLEANFILES}
    
    clean_cov:
    	rm -rf ${CLEANFILES_COV}
    
    cov: libc3_cov.la libc3_cov.a
    
    debug: libc3_debug.la libc3_debug.a
    
    distclean:
    	rm -rf ${DISTCLEANFILES}
    
    gcovr:
    	gcovr --gcov-executable ${GCOV} --html-details libc3.html
    
    include gen.mk
    CLEANFILES += ${GENERATED_FILES}
    
    install:
    	${INSTALL} -o ${OWNER} -g ${GROUP} -m 0755 -d ${prefix}/include/c3
    	${LIBTOOL} --tag=CC --mode=install ${INSTALL} -o ${OWNER} -g ${GROUP} -m 0644 ${HEADERS} ${prefix}/include/c3
    	${INSTALL} -o ${OWNER} -g ${GROUP} -m 0755 -d ${prefix}/lib
    	${LIBTOOL} --tag=CC --mode=install ${INSTALL} -o ${OWNER} -g ${GROUP} -m 0644 ${LIB} ${prefix}/lib
    
    libc3.a: libc3.la
    	cp .libs/libc3.a ./
    
    libc3_asan.a: libc3_asan.la
    	cp .libs/libc3_asan.a ./
    
    libc3_cov.a: libc3_cov.la
    	cp .libs/libc3_cov.a ./
    
    libc3_debug.a: libc3_debug.la
    	cp .libs/libc3_debug.a ./
    
    test:
    
    update_sources:
    	./update_sources
    
    .PHONY: all asan build clean cov debug distclean gen install test update_sources
    
    include config.mk
    include sources.mk