make/makefile.mk

Tue, 02 Jan 2024 23:31:00 +0100

author
Mike Becker <universe@uap-core.de>
date
Tue, 02 Jan 2024 23:31:00 +0100
changeset 791
945ee9bf2dd1
permissions
-rw-r--r--

generate (release) config.mk if none exists - fixes #350

     1 # Copyright 2023 Mike Becker. All rights reserved.
     2 #
     3 # Redistribution and use in source and binary forms, with or without
     4 # modification, are permitted provided that the following conditions are met:
     5 #
     6 # 1. Redistributions of source code must retain the above copyright
     7 # notice, this list of conditions and the following disclaimer.
     8 #
     9 # 2. Redistributions in binary form must reproduce the above copyright
    10 # notice, this list of conditions and the following disclaimer in the
    11 # documentation and/or other materials provided with the distribution.
    12 #
    13 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    14 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    15 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    16 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
    17 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    18 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    19 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    20 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    21 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    22 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    24 include config.mk
    26 dist: FORCE
    27 	$(MKDIR) $(dist_dir)/libucx
    28 	$(COPYALL) CHANGELOG configure COPYING Doxyfile Makefile README \
    29 		uaplogo.png docs make src tests $(dist_dir)/libucx/
    30 	@cd $(dist_dir) && tar -czf libucx-src-$(VERSION).tar.gz -Hustar libucx
    31 	@echo "[ Dist created: $(dist_dir)/libucx-src-$(VERSION).tar.gz ]"
    33 clean: FORCE
    34 	$(RMDIR) $(build_dir)
    36 dist-clean: FORCE
    37 	$(RMDIR) $(dist_dir)
    38 	$(RMDIR) $(build_dir)
    40 compile: static shared
    42 $(build_dir):
    43 	$(MKDIR) $@
    45 shared: $(build_dir) FORCE
    46 	@cd src && $(MAKE) OBJ_EXT=.shared.o \
    47 		CFLAGS="$(CFLAGS) $(SHLIB_CFLAGS)" \
    48 		LDFLAGS="$(LDFLAGS) $(SHLIB_LDFLAGS)" \
    49 		shared
    51 static: $(build_dir) FORCE
    52 	@cd src && $(MAKE) static
    54 check: test-compile FORCE
    55 	$(RMFILE) $(build_dir)/*.gcda
    56 	$(RMFILE) $(build_dir)/tests/*.gcda
    57 	$(build_dir)/tests/ucxtest
    59 test-compile: static FORCE
    60 	cd tests && $(MAKE)
    62 docs: FORCE
    63 	@(test "$(WITH_DOCS_API)" = "yes" && cd docs && $(MAKE) all-api) \
    64 		|| echo "[ Generation of API Docs disabled - skipped ]"
    65 	@(test "$(WITH_DOCS_HTML)" = "yes" && cd docs && $(MAKE) all-html) \
    66 		|| echo "[ Generation of HTML Docs disabled - skipped ]"
    68 update-rules: FORCE
    69 	make/update-rules.sh src
    70 	CFLAGS='$(CFLAGS) -I../src' make/update-rules.sh tests '$$(TEST_DIR)'
    72 FORCE:

mercurial