Changeset 73401643 in mainline for uspace/Makefile.common


Ignore:
Timestamp:
2018-07-05T21:41:25Z (6 years ago)
Author:
Dzejrou <dzejrou@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8054f60
Parents:
5b12dbb
git-author:
Dzejrou <dzejrou@…> (2018-07-02 20:27:35)
git-committer:
Dzejrou <dzejrou@…> (2018-07-05 21:41:25)
Message:

cpp: c++ binaries are detected by source extensions, split c++ related macros in similar fashion to the c macros

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/Makefile.common

    r5b12dbb r73401643  
    7979        OUTPUTS += $(BINARY) $(BINARY).disasm
    8080        EXTRA_CLEAN += $(BINARY).map
    81 endif
    82 
    83 ifneq ($(CXX_BINARY),)
    84         JOB = $(CXX_BINARY).job
    85         TEST_BINARY = test-$(CXX_BINARY)
    86         OUTPUTS += $(CXX_BINARY) $(CXX_BINARY).disasm
    87         EXTRA_CLEAN += $(CXX_BINARY).map
    8881endif
    8982
     
    245238# Flags for the compilation of C++ code.
    246239CXX_BASE_LIBS = $(LIBCPP_PREFIX)/libcpp.a $(BASE_LIBS)
    247 CXXFLAGS = $(LIBCPP_INCLUDES_FLAGS) $(INCLUDES_FLAGS) -O$(OPTIMIZATION) $(COMMON_CFLAGS) \
     240DEFAULT_CXXFLAGS = \
     241        -O$(OPTIMIZATION) \
     242        -ffunction-sections \
     243        -pipe \
     244        -Wall \
     245        -Wextra \
     246        -Wno-unused-parameter \
     247        -Wwrite-strings \
     248        -Werror-implicit-function-declaration
     249
     250COMMON_CXXFLAGS = $(COMMON_CFLAGS)
     251HELENOS_CXXFLAGS = \
     252        -std=c++17 -frtti \
     253        $(LIBCPP_INCLUDES_FLAGS) $(INCLUDES_FLAGS) \
    248254        -imacros $(CONFIG_HEADER) \
    249         -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \
    250         -finput-charset=UTF-8 -ffreestanding -fno-builtin -ffunction-sections \
    251         -nostdlib -nostdinc -Wall -Wextra -Wno-clobbered -Wno-unused-parameter \
    252         -std=c++17 -Werror-implicit-function-declaration \
    253         -Wwrite-strings -pipe -ggdb -D__$(ENDIANESS)__
     255        -D_HELENOS_SOURCE \
     256        -fexec-charset=UTF-8 \
     257        -finput-charset=UTF-8 \
     258        -fno-common \
     259        -fdebug-prefix-map=$(realpath $(ROOT_PATH))=.
     260
     261CXXFLAGS = $(COMMON_CPPFLAGS) $(COMMON_CXXFLAGS) $(HELENOS_CXXFLAGS) $(DEFAULT_CXXFLAGS)
    254262
    255263## Setup platform configuration
     
    326334
    327335ifneq ($(BINARY),)
     336
     337ifeq ($(findstring ".cpp", $($suffix $(SOURCES))),)
     338$(BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBTAGS) $(CXX_BASE_LIBS)
     339        $(CXX) $(CXXFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) -T $(LINKER_SCRIPT) -Wl,-Map,$@.map -o $@ $(OBJECTS) $(LIBARGS) $(CXX_BASE_LIBS)
     340else
    328341$(BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBTAGS) $(BASE_LIBS)
    329342        $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) -T $(LINKER_SCRIPT) -Wl,-Map,$@.map -o $@ $(OBJECTS) $(LIBARGS) $(BASE_LIBS)
    330343endif
    331344
    332 ifneq ($(CXX_BINARY),)
    333 $(CXX_BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBTAGS) $(CXX_BASE_LIBS)
    334         $(CXX) $(CXXFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) -T $(LINKER_SCRIPT) -Wl,-Map,$@.map -o $@ $(OBJECTS) $(LIBARGS) $(CXX_BASE_LIBS)
    335345endif
    336346
Note: See TracChangeset for help on using the changeset viewer.