@noindent The variables are:
+@anchor{bin_PROGRAMS}
@defvar bin_PROGRAMS
Contains a list of names (whitespace separated) of programs to be
compiled in this directory.
@end defvar
+@defvar test_PROGRAMS
+ Almost the same as @ref{bin_PROGRAMS}, but resulting binaries are
+ stored in @file{bin-tests} directory instead of @file{bin}. This
+ variable is intended for various test programs not to be mixed with
+ the final product.
+@end defvar
+
+@defvar utils_PROGRAMS
+ Almost the same as @ref{bin_PROGRAMS}, but resulting binaries are
+ stored in @file{bin-utils} directory instead of @file{bin}. This
+ variable is intended for various development utilities not to be mixed
+ with the final product.
+@end defvar
+
@defvar xxx_SOURCES
For every program name @var{xxx} in @code{bin_PROGRAMS}, this variable
contains a list of sources that are needed to compile the
# rtlinux_HEADERS .. list of the RT-Linux kernel-space public header files
# bin_PROGRAMS .. list of the require binary programs
# utils_PROGRAMS .. list of the development utility programs
+# test_PROGRAMS .. list of the testing programs
# kernel_MODULES .. list of the kernel side modules/applications
# rtlinux_MODULES .. list of RT-Linux the kernel side modules/applications
# xxx_SOURCES .. list of specific target sources
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)/%$(EXE_SUFFIX)) $(utils_PROGRAMS:%=$(USER_UTILS_DIR)/%$(EXE_SUFFIX))
+binary-pass-local: $(bin_PROGRAMS:%=$(USER_BIN_DIR)/%$(EXE_SUFFIX)) $(utils_PROGRAMS:%=$(USER_UTILS_DIR)/%$(EXE_SUFFIX)) $(test_PROGRAMS:%=$(USER_TESTS_DIR)/%$(EXE_SUFFIX))
# Special rules for CMETRIC generated headers
$(foreach prog,$(utils_PROGRAMS),$(eval $(call PROGRAM_template,$(prog),$(USER_UTILS_DIR),$(EXE_SUFFIX))))
+$(foreach prog,$(test_PROGRAMS),$(eval $(call PROGRAM_template,$(prog),$(USER_TESTS_DIR),$(EXE_SUFFIX))))
+
$(foreach prog,$(bin_PROGRAMS),$(eval $(call PROGRAM_template,$(prog),$(USER_BIN_DIR),$(EXE_SUFFIX))))
$(foreach lib,$(lib_LIBRARIES),$(eval $(call LIBRARY_template,$(lib))))
fi
$(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)))
+$(eval $(call omk_pass_template, binary-pass, $(USER_OBJS_DIR),USER_RULE_TEMPLATES=y,$(bin_PROGRAMS)$(utils_PROGRAMS)$(test_PROGRAMS)))
OTHER_PASSES = clean install include-pass
$(eval $(call omk_pass_template,$(OTHER_PASSES),$(USER_OBJS_DIR),,always))
@$(call mkdir_def,$(KERN_LIB_DIR))
@$(call mkdir_def,$(USER_BIN_DIR))
@$(call mkdir_def,$(USER_UTILS_DIR))
+ @$(call mkdir_def,$(USER_TESTS_DIR))
@$(call mkdir_def,$(KERN_MODULES_DIR))
@$(call mkdir_def,$(KERN_MODPOST_DIR))
USER_INCLUDE_DIR := $(OCERA_USER_INCLUDES_DIR)
USER_LIB_DIR := $(OCERA_USER_LIBRARIES_DIR)
USER_UTILS_DIR := $(TARGET_DIR)/usr/bin
+USER_TESTS_DIR := $(TARGET_DIR)/usr/bin
USER_BIN_DIR := $(TARGET_DIR)/usr/bin
USER_BUILD_DIR := $(BUILD_DIR)/user/$(GROUP_DIR_NAME)
#LINUX_DIR := $(OCERA_DIR)/kernel/linux
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)/user
# renamed_include_HEADERS .. public headers copied to the different target name
# bin_PROGRAMS .. list of the require binary programs
# utils_PROGRAMS .. list of the development utility programs
+# test_PROGRAMS .. list of the test programs
# xxx_SOURCES .. list of specific target sources
# INCLUDES .. additional include directories and defines for user-space
# tar_EMBEDFILES .. list of tars with embedded files
library-pass-local: $(addprefix $(USER_INCLUDE_DIR)/,$(cmetric_include_HEADERS)) \
$(lib_LIBRARIES:%=$(USER_LIB_DIR)/lib%.a) $(shared_LIBRARIES:%=$(USER_LIB_DIR)/lib%.so)
-binary-pass-local: $(bin_PROGRAMS:%=$(USER_BIN_DIR)/%) $(utils_PROGRAMS:%=$(USER_UTILS_DIR)/%)
+binary-pass-local: $(bin_PROGRAMS:%=$(USER_BIN_DIR)/%) $(utils_PROGRAMS:%=$(USER_UTILS_DIR)/% $(test_PROGRAMS:%=$(USER_TESTS_DIR)/%)
# Special rules for CMETRIC generated headers
$(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))))
$(eval $(call omk_pass_template, include-pass,$(USER_OBJS_DIR),,$(include_HEADERS)$(nobase_include_HEADERS)$(renamed_include_HEADERS)$(config_include_HEADERS)$(LOCAL_CONFIG_H)))
$(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)))
+$(eval $(call omk_pass_template, binary-pass, $(USER_OBJS_DIR),USER_RULE_TEMPLATES=y,$(bin_PROGRAMS)$(utils_PROGRAMS)$(test_PROGRAMS)))
$(eval $(call omk_pass_template,clean,$(USER_OBJS_DIR),,always))
@$(call mkdir_def,$(USER_LIB_DIR))
@$(call mkdir_def,$(USER_BIN_DIR))
@$(call mkdir_def,$(USER_UTILS_DIR))
+ @$(call mkdir_def,$(USER_TESTS_DIR))
include-pass-local:
$(call include-pass-template,$(USER_INCLUDE_DIR),include)
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)/user
# Version for SDCC builds.
#
# bin_PROGRAMS .. list of the require binary programs
+# test_PROGRAMS .. list of the test programs
# include_HEADERS .. list of the user-space public header files
# lib_LIBRARIES .. list of the user-space libraries
# lib_LDSCRIPTS .. list of LD scripts that should be copied to the lib direcotry
ifneq ($(link_VARIANTS),)
$(foreach prog,$(bin_PROGRAMS),$(foreach link,$(link_VARIANTS),$(eval $(call PROGRAM_template,$(prog),$(USER_BIN_DIR),$(link)))))
$(foreach prog,$(utils_PROGRAMS),$(foreach link,$(link_VARIANTS),$(eval $(call PROGRAM_template,$(prog),$(USER_UTILS_DIR),$(link)))))
+$(foreach prog,$(test_PROGRAMS),$(foreach link,$(link_VARIANTS),$(eval $(call PROGRAM_template,$(prog),$(USER_TESTS_DIR),$(link)))))
else
$(foreach prog,$(bin_PROGRAMS),$(eval $(call PROGRAM_template,$(prog),$(USER_BIN_DIR))))
$(foreach prog,$(utils_PROGRAMS),$(eval $(call PROGRAM_template,$(prog),$(USER_UTILS_DIR))))
+$(foreach prog,$(test_PROGRAMS),$(eval $(call PROGRAM_template,$(prog),$(USER_TESTS_DIR))))
endif
$(foreach lib,$(lib_LIBRARIES),$(eval $(call LIBRARY_template,$(lib))))
ifneq ($(link_VARIANTS),)
binary-pass-local: $(foreach link,$(link_VARIANTS),$(bin_PROGRAMS:%=$(USER_BIN_DIR)/%-$(link)) \
$(foreach of,$(OUTPUT_FORMATS),$(bin_PROGRAMS:%=$(USER_BIN_DIR)/%-$(link).$(of))))
+binary-pass-local: $(foreach link,$(link_VARIANTS),$(test_PROGRAMS:%=$(USER_TESTS_DIR)/%-$(link)) \
+ $(foreach of,$(OUTPUT_FORMATS),$(test_PROGRAMS:%=$(USER_TESTS_DIR)/%-$(link).$(of))))
else
binary-pass-local: $(bin_PROGRAMS:%=$(USER_BIN_DIR)/%) \
$(foreach of,$(OUTPUT_FORMATS),$(bin_PROGRAMS:%=$(USER_BIN_DIR)/%.$(of)))
+binary-pass-local: $(test_PROGRAMS:%=$(USER_TESTS_DIR)/%) \
+ $(foreach of,$(OUTPUT_FORMATS),$(test_PROGRAMS:%=$(USER_TESTS_DIR)/%.$(of)))
endif
library-pass-local: $(lib_LIBRARIES:%=$(USER_LIB_DIR)/$(LIB_PREF)%$(LIB_EXT)) $(shared_LIBRARIES:%=$(USER_LIB_DIR)/$(LIB_PREF)%.so)
-binary-pass-local: $(foreach link,$(link_VARIANTS),$(bin_PROGRAMS:%=$(USER_BIN_DIR)/%-$(link)) $(foreach of,$(OUTPUT_FORMATS),$(bin_PROGRAMS:%=$(USER_BIN_DIR)/%-$(link).$(of))))
-
utils-pass-local: $(foreach link,$(link_VARIANTS),$(utils_PROGRAMS:%=$(USER_UTILS_DIR)/%-$(link)) $(foreach of,$(OUTPUT_FORMATS),$(utils_PROGRAMS:%=$(USER_UTILS_DIR)/%-$(link).$(of))))
-include $(USER_OBJS_DIR)/*.d
$(Q) $(RUN_CMD-$(1))
endef
-$(foreach link,$(link_VARIANTS),$(foreach prog,$(bin_PROGRAMS),$(eval $(call LOAD_PROGRAM_template,$(prog),$(USER_BIN_DIR),$(link)))))
+$(foreach link,$(link_VARIANTS),$(foreach prog,$(bin_PROGRAMS) $(test_PROGRAMS),$(eval $(call LOAD_PROGRAM_template,$(prog),$(USER_BIN_DIR),$(link)))))
$(foreach link,$(link_VARIANTS),$(eval $(call LOAD_RUN_VARIANT_template,$(link))))
.PHONY: load run
-load: $(addprefix load-,$(firstword $(bin_PROGRAMS))-$(firstword $(link_VARIANTS)))
+load: $(addprefix load-,$(firstword $(bin_PROGRAMS) $(test_PROGRAMS))-$(firstword $(link_VARIANTS)))
run: run-$(firstword $(link_VARIANTS))
$(eval $(call omk_pass_template, include-pass, $(LOCAL_BUILD_DIR),,$(include_HEADERS)$(nobase_include_HEADERS)$(renamed_include_HEADERS)$(lib_LDSCRIPTS)$(config_include_HEADERS)$(LOCAL_CONFIG_H)))
$(eval $(call omk_pass_template, library-pass, $(LOCAL_BUILD_DIR),USER_RULE_TEMPLATES=y,$(lib_LIBRARIES)$(shared_LIBRARIES)$(lib_obj_SOURCES)))
-$(eval $(call omk_pass_template, binary-pass, $(LOCAL_BUILD_DIR),USER_RULE_TEMPLATES=y,$(bin_PROGRAMS)))
+$(eval $(call omk_pass_template, binary-pass, $(LOCAL_BUILD_DIR),USER_RULE_TEMPLATES=y,$(bin_PROGRAMS)$(test_PROGRAMS)))
$(eval $(call omk_pass_template, utils-pass, $(LOCAL_BUILD_DIR),USER_RULE_TEMPLATES=y,$(utils_PROGRAMS)))
@$(call mkdir_def,$(USER_LIB_DIR))
@$(call mkdir_def,$(USER_BIN_DIR))
@$(call mkdir_def,$(USER_UTILS_DIR))
+ @$(call mkdir_def,$(USER_TESTS_DIR))
# Which passes to pass
default: include-pass library-pass binary-pass utils-pass
USER_INCLUDE_DIR = $(USER_COMPILED_DIR_NAME)/include
USER_LIB_DIR = $(USER_COMPILED_DIR_NAME)/lib
USER_UTILS_DIR = $(USER_COMPILED_DIR_NAME)/bin-utils
+USER_TESTS_DIR = $(USER_COMPILED_DIR_NAME)/bin-tests
USER_BIN_DIR = $(USER_COMPILED_DIR_NAME)/bin
USER_OBJS_DIR = $(LOCAL_BUILD_DIR)
@$(foreach ch,$(config_include_HEADERS), \
echo "$(USER_INCLUDE_DIR:$(MAKERULES_DIR)/$(addsuffix /,$(SOURCES_LIST_DIR))%=%)/$(ch)" >> "$(SOURCES_LIST).tmp";)
@$(foreach h,$(renamed_include_HEADERS),echo "$(RELATIVE_DIR:$(SOURCES_LIST_DIR)/%=%)/$(h)"|sed -e 's/\(.*\)->.*/\1/' >> "$(SOURCES_LIST).tmp";)
- @$(foreach bin,$(lib_LIBRARIES) $(shared_LIBRARIES) $(bin_PROGRAMS) $(utils_PROGRAMS) \
+ @$(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 "$(RELATIVE_DIR:$(SOURCES_LIST_DIR)/%=%)/$(src)" >> "$(SOURCES_LIST).tmp";))
#
#
# bin_PROGRAMS .. list of the require binary programs
+# test_PROGRAMS .. list of the test programs
# include_HEADERS .. list of the user-space public header files
# lib_LIBRARIES .. list of the user-space libraries
# lib_LDSCRIPTS .. list of LD scripts that should be copied to the lib direcotry
# Generate rules for compilation of programs and libraries
ifneq ($(link_VARIANTS),)
$(foreach prog,$(bin_PROGRAMS),$(foreach link,$(link_VARIANTS),$(eval $(call PROGRAM_template,$(prog),$(USER_BIN_DIR),$(link)))))
+$(foreach prog,$(test_PROGRAMS),$(foreach link,$(link_VARIANTS),$(eval $(call PROGRAM_template,$(prog),$(USER_TESTS_DIR),$(link)))))
else
$(foreach prog,$(bin_PROGRAMS),$(eval $(call PROGRAM_template,$(prog),$(USER_BIN_DIR))))
+$(foreach prog,$(test_PROGRAMS),$(eval $(call PROGRAM_template,$(prog),$(USER_TESTS_DIR))))
endif
$(foreach lib,$(lib_LIBRARIES),$(eval $(call LIBRARY_template,$(lib))))
$(addprefix $(LIB_DIR)/,$(lib_OBJS))
ifneq ($(link_VARIANTS),)
-binary-pass-local: $(foreach link,$(link_VARIANTS),$(bin_PROGRAMS:%=$(USER_BIN_DIR)/%-$(link)) \
- $(foreach of,$(OUTPUT_FORMATS),$(bin_PROGRAMS:%=$(USER_BIN_DIR)/%-$(link).$(of))))
+binary-pass-local: $(foreach link,$(link_VARIANTS),$(bin_PROGRAMS:%=$(USER_BIN_DIR)/%-$(link)) $(test_PROGRAMS:%=$(USER_TESTS_DIR)/%-$(link)) \
+ $(foreach of,$(OUTPUT_FORMATS),$(bin_PROGRAMS:%=$(USER_BIN_DIR)/%-$(link).$(of)) $(test_PROGRAMS:%=$(USER_TESTS_DIR)/%-$(link).$(of))))
else
-binary-pass-local: $(bin_PROGRAMS:%=$(USER_BIN_DIR)/%) \
- $(foreach of,$(OUTPUT_FORMATS),$(bin_PROGRAMS:%=$(USER_BIN_DIR)/%.$(of)))
+binary-pass-local: $(bin_PROGRAMS:%=$(USER_BIN_DIR)/%) $(test_PROGRAMS:%=$(USER_TESTS_DIR)/%) \
+ $(foreach of,$(OUTPUT_FORMATS),$(bin_PROGRAMS:%=$(USER_BIN_DIR)/%.$(of)) $(test_PROGRAMS:%=$(USER_TESTS_DIR)/%.$(of)))
endif
endif # TARGET_RULE_TEMPLATES
define LOAD_RUN_VARIANT_template
.PHONY: load-$(1) run-$(1)
-load-$(1): load-$(firstword $(bin_PROGRAMS))-$(1)
+load-$(1): load-$(firstword $(bin_PROGRAMS) $(test_PROGRAMS))-$(1)
run-$(1):
@$(QUIET_CMD_ECHO) " RUN $(1)"
endef
$(foreach link,$(link_VARIANTS),$(foreach prog,$(bin_PROGRAMS),$(eval $(call LOAD_PROGRAM_template,$(prog),$(USER_BIN_DIR),$(link)))))
+$(foreach link,$(link_VARIANTS),$(foreach prog,$(test_PROGRAMS),$(eval $(call LOAD_PROGRAM_template,$(prog),$(USER_TEST_DIR),$(link)))))
$(foreach link,$(link_VARIANTS),$(eval $(call LOAD_RUN_VARIANT_template,$(link))))
.PHONY: load run
-load: $(addprefix load-,$(firstword $(bin_PROGRAMS))-$(firstword $(link_VARIANTS)))
+load: $(addprefix load-,$(firstword $(bin_PROGRAMS) $(test_PROGRAMS))-$(firstword $(link_VARIANTS)))
run: run-$(firstword $(link_VARIANTS))
$(eval $(call omk_pass_template, include-pass, $(LOCAL_BUILD_DIR),,$(include_HEADERS)$(nobase_include_HEADERS)$(renamed_include_HEADERS)$(lib_LDSCRIPTS)$(config_include_HEADERS)$(LOCAL_CONFIG_H)))
$(eval $(call omk_pass_template, library-pass, $(LOCAL_BUILD_DIR),TARGET_RULE_TEMPLATES=y,$(lib_LIBRARIES)$(shared_LIBRARIES)$(lib_obj_SOURCES)))
-$(eval $(call omk_pass_template, binary-pass, $(LOCAL_BUILD_DIR),TARGET_RULE_TEMPLATES=y,$(bin_PROGRAMS)))
+$(eval $(call omk_pass_template, binary-pass, $(LOCAL_BUILD_DIR),TARGET_RULE_TEMPLATES=y,$(bin_PROGRAMS) $(test_PROGRAMS)))
$(eval $(call omk_pass_template, utils-pass, $(LOCAL_BUILD_DIR),HOST_RULE_TEMPLATES=y,$(utils_PROGRAMS)))
@$(call mkdir_def,$(USER_LIB_DIR))
@$(call mkdir_def,$(USER_BIN_DIR))
@$(call mkdir_def,$(USER_UTILS_DIR))
+ @$(call mkdir_def,$(USER_TESTS_DIR))
# Which passes to pass
default: include-pass library-pass binary-pass utils-pass
USER_INCLUDE_DIR = $(USER_COMPILED_DIR_NAME)/include
USER_LIB_DIR = $(USER_COMPILED_DIR_NAME)/lib
USER_UTILS_DIR = $(USER_COMPILED_DIR_NAME)/bin-utils
+USER_TESTS_DIR = $(USER_COMPILED_DIR_NAME)/bin-tests
USER_BIN_DIR = $(USER_COMPILED_DIR_NAME)/bin
USER_OBJS_DIR = $(LOCAL_BUILD_DIR)
# 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
# INCLUDES .. additional include directories and defines for user-space
$(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))))
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) $(utils_PROGRAMS:%=$(USER_UTILS_DIR)/%.vxe)
+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)
$(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)))
+$(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_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
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
--- /dev/null
+test_PROGRAMS = test
+
+test_SOURCES = test.c
\ No newline at end of file
--- /dev/null
+#!/bin/sh
+source ../functions.sh
+
+touch config.omk-default
+rm -rf _compiled
+make MAKEFILE_OMK=Makefile.omk-test_PROGRAMS || canttest
+FOUND=`find _compiled -wholename '*/bin-tests/test*'`
+echo "Found: $FOUND"
+[ -n "$FOUND" ] || error "No test program created"