#!/bin/bash . ./wvtest.sh cat > 'correct_cmetric_config.h' < 'Makefile.omk' < 'for_cmetric_config.c' <fld); \ NUM2ASM(_cmetric2def_s_##strct##_##fld,sizeof(((struct strct*)0L)->fld)) #define MASKBIT2ASM(def_base) \ NUM2ASM(_cmetric2def_##def_base##_b,def_base##_b); \ NUM2ASM(_cmetric2def_##def_base##_m,def_base##_m) #define VALUE2ASM(value_name,value) \ NUM2ASM(_cmetric2def_##value_name,value) #define DEC_VALUE2ASM(value_name,value) \ NUM2ASM(_cmetric2defdec_##value_name,value) void pxmc_public2asm(void) { #ifdef CONFIG_TEST_OPTION1 VALUE2ASM(CMETRIC_TEST_OPTION1,1); #endif #ifdef CONFIG_TEST_OPTION2 VALUE2ASM(CMETRIC_TEST_OPTION2,1); #endif #ifdef CONFIG_TEST_OPTION3 VALUE2ASM(CMETRIC_TEST_OPTION3,1); #endif #ifdef CONFIG_TEST_OPTION4 VALUE2ASM(CMETRIC_TEST_OPTION4,1); #endif #ifdef CONFIG_TEST_OPTION5 VALUE2ASM(CMETRIC_TEST_OPTION5,1); #endif #ifdef CONFIG_TEST_OPTION6 VALUE2ASM(CMETRIC_TEST_OPTION6,1); #endif VALUE2ASM(VALUE_HEX, 123); DEC_VALUE2ASM(VALUE_DEC, 123); DEC_VALUE2ASM(VALUE_DEC_ZERO, 0); MASKBIT2ASM(FLAG_FOO); MASKBIT2ASM(FLAG_BAR); FIELD2ASM(blah, field1); FIELD2ASM(blah, field2); FIELD2ASM(blah, flags); } EOF cat > 'test.S' < /* * In this file, we can use the symbols extracted from .o generated by * a C compiler */ .global main main: EOF cat > 'header.h' <