]> rtime.felk.cvut.cz Git - omk.git/commitdiff
Ensure that OBJ_EXT, LIB_EXT, LIB_PREF and ASM_EXT is defined for all targets.
authorPavel Pisa <ppisa@pikron.com>
Fri, 31 Mar 2023 22:34:13 +0000 (00:34 +0200)
committerPavel Pisa <ppisa@pikron.com>
Fri, 31 Mar 2023 22:34:13 +0000 (00:34 +0200)
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
snippets/cmetric.omk
snippets/linux.omk
snippets/rtems.omk
snippets/sources-list.omk
snippets/sysless.omk
snippets/vxworks.omk

index f44cd0241e170fba8b62d59a6311d77e7da0efd2..0b31bab99e7be00fb01df86f97f5e5e2176a30ea 100644 (file)
@@ -34,9 +34,9 @@ library-pass-local: $(addprefix $(USER_INCLUDE_DIR)/,$(cmetric_include_HEADERS))
 
 $(foreach cmetrh,$(cmetric_include_HEADERS),$(eval $(call COMPILE_c_o_template,\
                $(SOURCES_DIR)/$($(basename $(notdir $(cmetrh)))_CMETRIC_SOURCES),\
-               $($(basename $(notdir $(cmetrh)))_CMETRIC_SOURCES:%.c=%.o),)))
+               $($(basename $(notdir $(cmetrh)))_CMETRIC_SOURCES:%.c=%$(OBJ_EXT)),)))
 $(foreach cmetrh,$(cmetric_include_HEADERS),$(eval $(call CMETRIC_o_h_template,\
-               $($(basename $(notdir $(cmetrh)))_CMETRIC_SOURCES:%.c=%.o),\
+               $($(basename $(notdir $(cmetrh)))_CMETRIC_SOURCES:%.c=%$(OBJ_EXT)),\
                $(addprefix $(USER_INCLUDE_DIR)/,$(cmetrh)))))
 
 GEN_HEADERS+=$(cmetric_include_HEADERS:%=$(USER_INCLUDE_DIR)/%)
index 657bc6558456f808dfd901b0df3cf04be25d4e34..e5017be39cb25cf35524d1a9892a817de1f15863 100644 (file)
 # OMK_CPPFLAGS    .. C preprocessor flags
 # LDFLAGS         .. linker flags for programs linking
 
+# Output variables:
+# OBJ_EXT - extension of object files
+# LIB_EXT - extension of library files
+# SOLIB_EXT - extension of dynamically linked libraries
+# LIB_PREF - prefix for library files
+# ASM_EXT - extension of assembler sources
+
 BUILD_DIR_NAME = _build
 COMPILED_DIR_NAME = _compiled
 ifndef GROUP_DIR_NAME
@@ -75,6 +82,11 @@ else
   SOLIB_PICFLAGS += -fpic
 endif
 
+OBJ_EXT = .o
+LIB_EXT = .a
+LIB_PREF = lib
+ASM_EXT = .S
+
 #vpath %.c $(SOURCES_DIR)
 #vpath %.cc $(SOURCES_DIR)
 #vpath %.cxx $(SOURCES_DIR)
index c5ea7d6d06e619f6607cda7780cf2e45946fdf60..83c78ebeb76aa576c7d1cc5bea5969415543eb22 100644 (file)
 # xxx_EMBEDTARFILES .. list of source subdirectories which are embedded as tar files to the application
 # xxx_EXPORTSYMBOLS .. if "y" then include symbol table in the application for dlopen functionality
 
+# Output variables:
+# OBJ_EXT - extension of object files
+# LIB_EXT - extension of library files
+# LIB_PREF - prefix for library files
+# ASM_EXT - extension of assembler sources
+
 include $(RTEMS_MAKEFILE_PATH)/Makefile.inc
 include $(RTEMS_CUSTOM)
 include $(CONFIG.CC)
@@ -33,7 +39,6 @@ USER_BUILD_DIR   := $(MAKERULES_DIR)/$(BUILD_DIR_NAME)/user
 
 LOCAL_BUILD_DIR  = $(USER_OBJS_DIR)
 
-
 DEFAULT_INCLUDES = -I $(PROJECT_INCLUDE)
 
 CPPFLAGS  += -I $(USER_INCLUDE_DIR)
@@ -51,6 +56,11 @@ LOADLIBES += $(lib_LOADLIBES:%=-l%)
 
 SOLIB_PICFLAGS += -shared -fpic
 
+OBJ_EXT = .o
+LIB_EXT = .a
+LIB_PREF = lib
+ASM_EXT = .S
+
 ifndef RELATIVE_DIR
 RELATIVE_DIR := $(SOURCES_DIR:$(MAKERULES_DIR)%=%)
 endif
index cfb6704f02be8e53215f00947506b44f53e4b261..222911ebe9842379eaf9ceec7511de699823c97f 100644 (file)
@@ -46,7 +46,7 @@ sources-list-pass-local:
        @$(foreach h,$(renamed_include_HEADERS),echo '$(h)'|$(SED4OMK) -e 's|\(.*\)->.*|$(addsuffix /,$(RELATIVE_DIR:$(SOURCES_LIST_DIR)/%=%))\1|' >> "$(SOURCES_LIST).tmp";)
        @$(foreach bin,$(lib_LIBRARIES) $(shared_LIBRARIES) $(bin_PROGRAMS) $(test_PROGRAMS) $(utils_PROGRAMS) \
          $(kernel_LIBRARIES) $(rtlinux_LIBRARIES) $(kernel_MODULES),\
-         $(foreach src,$(filter-out %.o,$($(bin)_SOURCES)),echo "$(addsuffix /,$(RELATIVE_DIR:$(SOURCES_LIST_DIR)/%=%))$(src)" >> "$(SOURCES_LIST).tmp";))
+         $(foreach src,$(filter-out %$(OBJ_EXT),$($(bin)_SOURCES)),echo "$(addsuffix /,$(RELATIVE_DIR:$(SOURCES_LIST_DIR)/%=%))$(src)" >> "$(SOURCES_LIST).tmp";))
 
 ############ TAGS ###########
 
index 1545cd5d611bc7ae286d878b0c83e4654dbd98d7..8edaff3d7cefec5ffb0e93ae4e44d4b7a119eab7 100644 (file)
@@ -135,7 +135,7 @@ $(foreach src,$(filter %.cc,$(SOURCES)),$(eval $(call COMPILE_cc_o_template,$(SO
 $(foreach src,$(filter %.cxx,$(SOURCES)),$(eval $(call COMPILE_cc_o_template,$(SOURCES_DIR)/$(src),$(src:%.cxx=%$(OBJ_EXT)),)))
 $(foreach src,$(filter %$(ASM_EXT),$(SOURCES)),$(eval $(call COMPILE_S_o_template,$(SOURCES_DIR)/$(src),$(src:%$(ASM_EXT)=%$(OBJ_EXT)),)))
 $(foreach src,$(filter %.s,$(SOURCES)),$(eval $(call COMPILE_S_o_template,$(SOURCES_DIR)/$(src),$(src:%.s=%$(OBJ_EXT)),)))
-$(foreach src,$(filter %.c,$(GEN_SOURCES)),$(eval $(call COMPILE_c_o_template,$(src),$(src:%.c=%.o),)))
+$(foreach src,$(filter %.c,$(GEN_SOURCES)),$(eval $(call COMPILE_c_o_template,$(src),$(src:%.c=%$(OBJ_EXT)),)))
 
 $(foreach src,$(filter %.c,$(SOLIB_SOURCES)),$(eval $(call COMPILE_c_o_template,$(SOURCES_DIR)/$(src),$(src:%.c=%.lo),$(SOLIB_PICFLAGS))))
 $(foreach src,$(filter %.cc,$(SOLIB_SOURCES)),$(eval $(call COMPILE_cc_o_template,$(SOURCES_DIR)/$(src),$(src:%.cc=%.lo),$(SOLIB_PICFLAGS))))
@@ -262,7 +262,7 @@ include-pass-local:
 
 
 clean-local::
-       $(Q)rm -f $(USER_OBJS_DIR)/*.o $(USER_OBJS_DIR)/*.lo \
+       $(Q)rm -f $(USER_OBJS_DIR)/*$(OBJ_EXT) $(USER_OBJS_DIR)/*.lo \
               $(USER_OBJS_DIR)/*.d \
               $(USER_OBJS_DIR)/*.map \
               $(LOCAL_CONFIG_H:%=$(USER_OBJS_DIR)/%)
index 69feaec61daa1fb40c6585ca69f659ad50f2602a..f2cd5b8fd6778ab1481ce1999fca8989e35f5fa3 100644 (file)
 # xxx_LIBS         .. list of specific target libraries
 # INCLUDES         .. additional include directories and defines for user-space
 
+# Output variables:
+# OBJ_EXT - extension of object files
+# LIB_EXT - extension of library files
+# LIB_PREF - prefix for library files
+# ASM_EXT - extension of assembler sources
+
 ifndef WRENV
 $(error WRENV is not defined in config.target)
 endif
@@ -70,6 +76,10 @@ ADDED_C++FLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(OMK_CPPFLAGS) \
 
 export ADDED_CFLAGS ADDED_C++FLAGS
 
+OBJ_EXT = .o
+LIB_EXT = .a
+LIB_PREF = lib
+ASM_EXT = .S
 
 USER_SOURCES2OBJS = .o/.c .o/.cc .o/.cxx .o/.o