Changeset 32b4302 in mainline for Makefile


Ignore:
Timestamp:
2019-08-18T19:06:02Z (7 years ago)
Author:
GitHub <noreply@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/fix-logger-deadlock, topic/msim-upgrade, topic/simplify-dev-export
Children:
1c39d33b
Parents:
fa70134 (diff), 6c2fac18 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2019-08-18 19:06:02)
git-committer:
GitHub <noreply@…> (2019-08-18 19:06:02)
Message:

Merge pull request #174 from le-jzr/meson3

Convert HelenOS build system to Meson

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Makefile

    rfa70134 r32b4302  
    2727#
    2828
    29 # Just for this Makefile. Sub-makes will run in parallel if requested.
    30 .NOTPARALLEL:
    31 
    32 CCHECK = tools/sycek/ccheck
    3329CSCOPE = cscope
    3430FORMAT = clang-format
    35 CHECK = tools/check.sh
    36 CONFIG = tools/config.py
    37 AUTOTOOL = tools/autotool.py
    38 SANDBOX = autotool
    3931
    40 CONFIG_RULES = HelenOS.config
    41 
    42 COMMON_MAKEFILE = Makefile.common
    43 COMMON_HEADER = common.h
    44 
    45 CONFIG_MAKEFILE = Makefile.config
    46 CONFIG_HEADER = config.h
    4732ERRNO_HEADER = abi/include/abi/errno.h
    4833ERRNO_INPUT = abi/include/abi/errno.in
    4934
    50 .PHONY: all precheck cscope cscope_parts autotool config_auto config_default config distclean clean check releasefile release common boot kernel uspace export-posix space
     35.PHONY: nothing cscope cscope_parts format ccheck ccheck-fix space check_errno
    5136
    52 all: kernel uspace export-cross test-xcw
    53         $(MAKE) -r -C boot PRECHECK=$(PRECHECK)
    54 
    55 common: $(COMMON_MAKEFILE) $(COMMON_HEADER) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(ERRNO_HEADER)
    56 
    57 kernel: common
    58         $(MAKE) -r -C kernel PRECHECK=$(PRECHECK)
    59 
    60 uspace: common
    61         $(MAKE) -r -C uspace PRECHECK=$(PRECHECK)
    62 
    63 test-xcw: uspace export-cross
    64         export PATH=$$PATH:$(abspath tools/xcw/bin) && $(MAKE) -r -C tools/xcw/demo
    65 
    66 export-posix: common
    67 ifndef EXPORT_DIR
    68         @echo ERROR: Variable EXPORT_DIR is not defined. && false
    69 else
    70         $(MAKE) -r -C uspace export EXPORT_DIR=$(abspath $(EXPORT_DIR))
    71 endif
    72 
    73 export-cross: common
    74         $(MAKE) -r -C uspace export EXPORT_DIR=$(abspath uspace/export)
    75 
    76 precheck: clean
    77         $(MAKE) -r all PRECHECK=y
     37nothing:
    7838
    7939cscope:
     
    8949        find abi kernel boot uspace -type f -regex '^.*\.[ch]$$' | xargs $(FORMAT) -i -sort-includes -style=file
    9050
    91 ccheck: $(CCHECK)
     51ccheck:
    9252        cd tools && ./build-ccheck.sh
    9353        tools/ccheck.sh
    9454
    95 ccheck-fix: $(CCHECK)
     55ccheck-fix:
    9656        cd tools && ./build-ccheck.sh
    9757        tools/ccheck.sh --fix
    9858
    99 $(CCHECK):
    100         cd tools && ./build-ccheck.sh
    101 
    10259space:
    10360        tools/srepl '[ \t]\+$$' ''
    104 
    105 doxy:
    106         $(MAKE) -r -C doxygen
    107 
    108 # Pre-integration build check
    109 check: ccheck $(CHECK)
    110 ifdef JOBS
    111         $(CHECK) -j $(JOBS)
    112 else
    113         $(CHECK) -j $(shell nproc)
    114 endif
    11561
    11662# `sed` pulls a list of "compatibility-only" error codes from `errno.in`,
     
    12167        git grep -n -f - -- ':(exclude)abi' ':(exclude)uspace/lib/posix'
    12268
    123 # Autotool (detects compiler features)
    124 
    125 autotool $(COMMON_MAKEFILE) $(COMMON_HEADER): $(CONFIG_MAKEFILE) $(AUTOTOOL)
    126         $(AUTOTOOL)
    127         diff -q $(COMMON_HEADER).new $(COMMON_HEADER) 2> /dev/null; if [ $$? -ne 0 ]; then mv -f $(COMMON_HEADER).new $(COMMON_HEADER); fi
    128 
    129 # Build-time configuration
    130 
    131 config_default $(CONFIG_MAKEFILE) $(CONFIG_HEADER): $(CONFIG_RULES)
    132 ifeq ($(HANDS_OFF),y)
    133         $(CONFIG) $< hands-off $(PROFILE)
    134 else
    135         $(CONFIG) $< default $(PROFILE)
    136 endif
    137 
    138 config: $(CONFIG_RULES)
    139         $(CONFIG) $<
    140 
    141 random-config: $(CONFIG_RULES)
    142         $(CONFIG) $< random
    143 
    144 # Release files
    145 
    146 releasefile: all
    147         $(MAKE) -r -C release releasefile
    148 
    149 release:
    150         $(MAKE) -r -C release release
    151 
    152 # Cleaning
    153 
    154 distclean: clean
    155         rm -f $(CSCOPE).out $(COMMON_MAKEFILE) $(COMMON_HEADER) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) tools/*.pyc tools/checkers/*.pyc release/HelenOS-*
    156 
    157 clean:
    158         rm -fr $(SANDBOX)
    159         $(MAKE) -r -C kernel clean
    160         $(MAKE) -r -C uspace clean
    161         $(MAKE) -r -C boot clean
    162         $(MAKE) -r -C doxygen clean
    163         $(MAKE) -r -C tools/xcw/demo clean
    164 
    16569$(ERRNO_HEADER): $(ERRNO_INPUT)
    16670        echo '/* Generated file. Edit errno.in instead. */' > $@.new
    16771        sed 's/__errno_entry(\([^,]*\),\([^,]*\),.*/#define \1 __errno_t(\2)/' < $< >> $@.new
    16872        mv $@.new $@
    169 
    170 -include Makefile.local
Note: See TracChangeset for help on using the changeset viewer.