]> rtime.felk.cvut.cz Git - omk.git/blobdiff - snippets/vxworks
Snippets renamed to *.omk
[omk.git] / snippets / vxworks
diff --git a/snippets/vxworks b/snippets/vxworks
deleted file mode 100644 (file)
index 988286b..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-#                   Version for vxWorks builds.
-#
-#
-# input variables
-# lib_LIBRARIES    .. list of the user-space libraries
-# include_HEADERS  .. list of the user-space public header files
-# nobase_include_HEADERS .. public headers copied even with directory part
-# renamed_include_HEADERS .. public headers copied to the different target name
-# bin_PROGRAMS     .. list of the require binary programs
-# test_PROGRAMS    .. list of the test programs
-# utils_PROGRAMS   .. list of the development utility programs
-# xxx_SOURCES      .. list of specific target sources
-# xxx_LIBS         .. list of specific target libraries
-# INCLUDES         .. additional include directories and defines for user-space
-
-ifndef WRENV
-$(error $(shell $(call canttest,WRENV is not defined in config.target)))
-endif
-ifndef WRPACKAGE
-$(error $(shell $(call canttest,WRPACKAGE is not defined in config.target)))
-endif
-ifndef CPU
-$(error $(shell $(call canttest,CPU is not defined in config.target)))
-endif
-ifndef TOOL
-$(error $(shell $(call canttest,TOOL is not defined in config.target)))
-endif
-
-BUILD_DIR_NAME = _build/$(CPU)$(TOOL)
-COMPILED_DIR_NAME = _compiled/$(CPU)$(TOOL)
-GROUP_DIR_NAME =
-
-
-USER_INCLUDE_DIR := $(MAKERULES_DIR)/$(COMPILED_DIR_NAME)/include
-USER_LIB_DIR     := $(MAKERULES_DIR)/$(COMPILED_DIR_NAME)/lib
-USER_UTILS_DIR   := $(MAKERULES_DIR)/$(COMPILED_DIR_NAME)/bin-utils
-USER_TESTS_DIR   := $(MAKERULES_DIR)/$(COMPILED_DIR_NAME)/bin-tests
-USER_BIN_DIR     := $(MAKERULES_DIR)/$(COMPILED_DIR_NAME)/bin
-USER_BUILD_DIR   := $(MAKERULES_DIR)/$(BUILD_DIR_NAME)/rtp
-
-# Note the use of "recursive" =. That's because RELATIVE_DIR is
-# sometimes defined later in 'base'.
-USER_OBJS_DIR    = $(USER_BUILD_DIR)/$(RELATIVE_DIR)
-LOCAL_BUILD_DIR  = $(USER_OBJS_DIR)
-
-.PHONY: check-dir
-
-# Some support to serialize some targets for parallel make
-ifneq ($(OMK_SERIALIZE_INCLUDED),y)
-include-pass: check-dir
-library-pass: include-pass
-binary-pass: library-pass
-kernel-lib-pass: include-pass
-kernel-mod-pass: kernel-lib-pass
-kernel-modpost-pass: kernel-mod-pass
-kernel-pass: kernel-mod-pass kernel-modpost-pass
-
-override OMK_SERIALIZE_INCLUDED = y
-MAKEOVERRIDES := $(filter-out OMK_SERIALIZE_INCLUDED=n,$(MAKEOVERRIDES))
-endif
-
-# Checks for OMK tester
-ifdef OMK_TESTSROOT
-default-config-pass-check include-pass-check:
-library-pass-check binary-pass-check:
-       @[ -x "$(shell which $(CC))" ] || $(call canttest,Cannot find compiler: $(CC))
-       @[ -x "$(WRENV)" ] || $(call canttest,Cannot execute wrenv script)
-endif
-
-
-# Export some variables to VxWorks makefiles
-CPPFLAGS  += -I $(USER_INCLUDE_DIR)
-
-ADDED_CFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -DOMK_FOR_VXWORKS -DOMK_FOR_USER
-
-ADDED_C++FLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -DOMK_FOR_VXWORKS -DOMK_FOR_USER
-
-export ADDED_CFLAGS ADDED_C++FLAGS
-
-
-USER_SOURCES2OBJS = .o/.c .o/.cc .o/.cxx .o/.o
-
-# Syntax: $(call PROGRAM_template,<executable-name>,<dir>,<link-variant>)
-define PROGRAM_template
-
-USER_IDLS  += $$($(1)_SERVER_IDL) $$($(1)_CLIENT_IDL) $$($(1)_IDL)
-$(1)_GEN_SOURCES += $$(filter %.c,$$($(1)_SERVER_IDL:%.idl=%-skels.c))
-$(1)_GEN_SOURCES += $$(filter %.c,$$($(1)_SERVER_IDL:%.idl=%-common.c))
-$(1)_GEN_SOURCES += $$(filter %.c,$$($(1)_CLIENT_IDL:%.idl=%-stubs.c))
-$(1)_GEN_SOURCES += $$(filter %.c,$$($(1)_CLIENT_IDL:%.idl=%-common.c))
-$(1)_GEN_SOURCES += $$(filter %.c,$$($(1)_IDL:%.idl=%.c))
-USER_GEN_SOURCES += $$($(1)_GEN_SOURCES)
-
-$(foreach x, $(USER_SOURCES2OBJS),
-$(1)_OBJS += $$(patsubst %$(notdir $(x)),%$(dir $(x)),$$(filter %$(notdir $(x)),\
-               $$($(1)_SOURCES) $$($(1)_GEN_SOURCES)))
-)
-$(1)_OBJS := $$(sort $$($(1)_OBJS:%/=%))
-
-USER_OBJS  += $$($(1)_OBJS)
-USER_SOURCES += $$($(1)_SOURCES)
-
-# I hope dependedcies are solved in vxWorks makefiles
-.PHONY: $(2)/$(1).vxe
-$(2)/$(1).vxe:
-       @$(QUIET_CMD_ECHO) "  LINK    $$@"
-# In rules.rtp (on line 265), dep generation depends on Makefile so we must create one
-#      @[ ! -f Makefile ] && touch Makefile 
-       @touch Makefile
-       @echo 'EXE = $(1).vxe' > Makefile.vxe.$(1); \
-       echo 'OBJS = $$($(1)_OBJS)' >> Makefile.vxe.$(1); \
-       echo 'VXE_DIR = $(2)' >> Makefile.vxe.$(1); \
-       echo 'OBJ_DIR = $(USER_OBJS_DIR)' >> Makefile.vxe.$(1); \
-       echo 'LIB_ROOT = $(USER_LIB_DIR)' >> Makefile.vxe.$(1); \
-       echo 'OMK_LIB_PATH = $$$$(LIB_ROOT)/$$$$(VX_CPU_FAMILY)/$$$$(CPU)/$$$$(TOOL_COMMON_DIR)$$$$(LIB_DIR_TAG)/' >> Makefile.vxe.$(1); \
-       echo 'ADDED_LIBS = -L$$$$(OMK_LIB_PATH) $(lib_LOADLIBES:%=-l%) $$($(1)_LIBS:%=-l%)' >> Makefile.vxe.$(1); \
-       echo 'VPATH = $(SOURCES_DIR)' >> Makefile.vxe.$(1); \
-       echo 'include $$$$(WIND_USR)/make/rules.rtp' >> Makefile.vxe.$(1); \
-       $(WRENV) -p $(WRPACKAGE) $(MAKE)  CPU=$(CPU) TOOL=$(TOOL) -f Makefile.vxe.$(1)
-#      echo 'ADDED_C++FLAGS += -L$(USER_LIB_DIR)' >> Makefile.vxe.$(1); \
-#      echo 'ADDED_CFLAGS += -L$(USER_LIB_DIR)' >> Makefile.vxe.$(1); \
-#      $(Q) $$(shell if [ -z "$$(filter %.cc,$$($(1)_SOURCES:%.cxx=%.cc))" ] ; then echo $$(CC) ; else echo $$(CXX) ; fi) \
-#        $$($(1)_OBJS) $$($(1)_LIBS:%=-l%) $$(LOADLIBES) $$(LDFLAGS) -Wl,-Map,$(USER_OBJS_DIR)/$(1).exe.map -o $(2)/$(1)
-#      @echo "$(2)/$(1): \\" >$(USER_OBJS_DIR)/$(1).exe.d
-#      @sed -n -e 's/^LOAD \(.*\)$$$$/  \1  \\/p' $(USER_OBJS_DIR)/$(1).exe.map  >>$(USER_OBJS_DIR)/$(1).exe.d
-#      @echo >>$(USER_OBJS_DIR)/$(1).exe.d
-endef
-
-
-# Syntax: $(call LIBRARY_template,<library-name>)
-define LIBRARY_template
-
-USER_IDLS  += $$($(1)_SERVER_IDL) $$($(1)_CLIENT_IDL) $$($(1)_IDL)
-$(1)_GEN_SOURCES += $$(filter %.c,$$($(1)_SERVER_IDL:%.idl=%-skels.c))
-$(1)_GEN_SOURCES += $$(filter %.c,$$($(1)_SERVER_IDL:%.idl=%-common.c))
-$(1)_GEN_SOURCES += $$(filter %.c,$$($(1)_CLIENT_IDL:%.idl=%-stubs.c))
-$(1)_GEN_SOURCES += $$(filter %.c,$$($(1)_CLIENT_IDL:%.idl=%-common.c))
-$(1)_GEN_SOURCES += $$(filter %.c,$$($(1)_IDL:%.idl=%.c))
-USER_GEN_SOURCES += $$($(1)_GEN_SOURCES)
-
-$(foreach x, $(USER_SOURCES2OBJS),
-$(1)_OBJS += $$(patsubst %$(notdir $(x)),%$(dir $(x)),$$(filter %$(notdir $(x)),\
-               $$($(1)_SOURCES) $$($(1)_GEN_SOURCES)))
-)
-$(1)_OBJS := $$(sort $$($(1)_OBJS:%/=%))
-USER_OBJS  += $$($(1)_OBJS)
-USER_SOURCES += $$($(1)_SOURCES)
-
-# I hope dependedcies are solved in vxWorks makefiles
-.PHONY: $(USER_LIB_DIR)/lib$(1).a
-$(USER_LIB_DIR)/lib$(1).a: #$$($(1)_OBJS)
-       @$(QUIET_CMD_ECHO) "  LIB     $$@"
-       @echo 'LIB_BASE_NAME = $(1)' > Makefile.lib.$(1); \
-       echo 'OBJS = $$($(1)_OBJS)' >> Makefile.lib.$(1); \
-       echo 'OBJ_DIR = $(USER_OBJS_DIR)' >> Makefile.lib.$(1); \
-       echo 'LIB_ROOT = $(USER_LIB_DIR)' >> Makefile.lib.$(1); \
-       echo 'VPATH = $(SOURCES_DIR)' >> Makefile.lib.$(1); \
-#      echo 'LIBDIRBASE = ' >> Makefile.lib.$(1); \
-       echo 'include $$$$(WIND_USR)/make/rules.library' >> Makefile.lib.$(1); 
-       $(WRENV) -p $(WRPACKAGE) $(MAKE) CPU=$(CPU) TOOL=$(TOOL) -f Makefile.lib.$(1)
-endef
-
-
-
-
-# Generate rules for compilation of programs and libraries
-
-$(foreach prog,$(utils_PROGRAMS),$(eval $(call PROGRAM_template,$(prog),$(USER_UTILS_DIR))))
-
-$(foreach prog,$(test_PROGRAMS),$(eval $(call PROGRAM_template,$(prog),$(USER_TESTS_DIR))))
-
-$(foreach prog,$(bin_PROGRAMS),$(eval $(call PROGRAM_template,$(prog),$(USER_BIN_DIR))))
-
-$(foreach lib,$(lib_LIBRARIES),$(eval $(call LIBRARY_template,$(lib))))
-
-$(foreach lib,$(shared_LIBRARIES),$(eval $(call SOLIB_template,$(lib))))
-
-$(eval $(call omk_pass_template,clean,$(USER_OBJS_DIR),,always))
-$(eval $(call omk_pass_template,install,$(USER_OBJS_DIR),,always))
-$(eval $(call omk_pass_template,include-pass,$(USER_OBJS_DIR),,always))
-
-$(eval $(call include-pass-template,$(USER_INCLUDE_DIR),include))
-
-library-pass-local: $(addprefix $(USER_INCLUDE_DIR)/,$(cmetric_include_HEADERS)) \
-                   $(lib_LIBRARIES:%=$(USER_LIB_DIR)/lib%.a) $(shared_LIBRARIES:%=$(USER_LIB_DIR)/lib%.$(SOLIB_EXT))
-
-binary-pass-local: $(bin_PROGRAMS:%=$(USER_BIN_DIR)/%.vxe) $(test_PROGRAMS:%=$(USER_TESTS_DIR)/%.vxe) $(utils_PROGRAMS:%=$(USER_UTILS_DIR)/%.vxe)
-
-clean-local:
-       @echo Cleaning in $(USER_OBJS_DIR)
-       @rm -f $(USER_OBJS_DIR)/*.o $(USER_OBJS_DIR)/*.lo \
-              $(USER_OBJS_DIR)/*.d \
-              $(USER_OBJS_DIR)/*.map \
-              $(LOCAL_CONFIG_H:%=$(USER_OBJS_DIR)/%)
-
-$(eval $(call omk_pass_template, library-pass,$(USER_OBJS_DIR),USER_RULE_TEMPLATES=y,$(lib_LIBRARIES)$(shared_LIBRARIES)))
-$(eval $(call omk_pass_template, binary-pass, $(USER_OBJS_DIR),USER_RULE_TEMPLATES=y,$(bin_PROGRAMS)$(utils_PROGRAMS)$(test_PROGRAMS)))
-
-check-dir::
-       @$(call mkdir_def,$(USER_BUILD_DIR))
-       @$(call mkdir_def,$(USER_INCLUDE_DIR))
-       @$(call mkdir_def,$(USER_LIB_DIR))
-       @$(call mkdir_def,$(USER_BIN_DIR))
-       @$(call mkdir_def,$(USER_UTILS_DIR))
-       @$(call mkdir_def,$(USER_TESTS_DIR))
-
-
-default: include-pass library-pass binary-pass
-
-# Local Variables:
-# mode:makefile
-# End: