4 include $(AVERTEC_TOP
)/etc
/$(AVERTEC_OS
).mk
5 include $(AVERTEC_TOP
)/etc
/libraries.mk
6 include $(AVERTEC_TOP
)/etc
/Avertec.mk
10 WIG_LIB
= $(TARGET_LIB
)/libavtwig.a
13 WRP_BIN_NOLIC
= wrap_nolicense
17 LOCAL_YACCFLAGS
= $(YACCFLAGS
) -d
-t
20 WRP_INC
= -I.
-I
$(I_DIR
) -I
$(TARGET_INCLUDE
)
21 WRP_LIB
= $(FLEXOBJS
) -L
$(TARGET_LIB
) -lavtwig
$(AVT_L
) $(MUT_L
) $(RPC_L
) $(FLEXLIBS
)
22 WRP_OBJ
= api_wrp_gen.o api_wrp_gns.o
23 WRP_CPPFLAGS
= $(CPPFLAGS
) -c
$(WRP_INC
) -DUSE_AVTWIG
-DMUT_H
='<$(MUT_H)>' -DAVT_H
='<$(AVT_H)>' -DAPI_H
='<$(API_H)>'
24 API_CPPFLAGS
= $(CPPFLAGS
) -c
26 API_OBJ
= api_util.o gen_library_parser.o gen_library_lexer.o gen_tree_parser.o gen_tree_lexer.o gen_tree_utils.o gen_tree_errors.o \
27 gen_execute_C.o gen_verif_C.o api_communication.o gen_templates.o
29 PRE_OBJ
= gen_tree_parser.c gen_tree_parser.h gen_tree_lexer.c gen_library_parser.c gen_library_lexer.c gen_library_parser.h
31 SOURCES_LIB
=$(API_OBJ
:.o
=.c
)
33 LOCAL_CPPFLAGS
= $(CPPFLAGS
) $(LOCAL_INC
) \
34 -DAVERTEC
-D
$(AVERTEC_LICENSE
) -I
$(TARGET_INCLUDE
) -D
$(AVERTEC_OS
)\
35 -DAVT_H
='<$(AVT_H)>' \
36 -DMUT_H
='<$(MUT_H)>' \
39 LIB
= -L
$(TARGET_LIB
) \
46 all: $(TARGET_INCLUDE
)/$(API_H
) $(TARGET_INCLUDE
)/api_communication.h headers.inc
$(TARGET_BIN
)/$(WRP_BIN_NOLIC
)
48 $(TARGET_INCLUDE
)/$(API_H
): api_lib.h gen_tree_parser.h
$(TARGET_BIN
)/license_api
49 sed
-e
"s/#endif \/\/TOBECUT/#ifndef API_HIDE_TOKENS/g" api_lib.h
> tmp.h
50 grep
"[0-9]" gen_tree_parser.h | grep
define >> tmp.h
51 echo
"#endif" >> tmp.h
52 echo
"#endif" >> tmp.h
53 mv tmp.h
$(TARGET_INCLUDE
)/$(API_H
)
55 headers
: $(TARGET_INCLUDE
)/$(API_H
)
57 $(TARGET_BIN
)/license_api
: license_patch.c
58 $(CC
) license_patch.c
-o
$(TARGET_BIN
)/license_api
60 $(TARGET_INCLUDE
)/api_communication.h
: api_communication.h
61 cp api_communication.h
$(TARGET_INCLUDE
)
63 $(TARGET_BIN
)/$(WRP_BIN
): $(WIG_LIB
) $(WRP_OBJ
) $(TARGET_LIB
)/$(API_LIB
) $(WIG_LIB
)
64 $(CPLUSPLUS
) $(CFLAGS
) $(WRP_OBJ
) $(WRP_INC
) $(WRP_LIB
) -lm
-o
$(TARGET_BIN
)/$(WRP_BIN
)
65 $(STRIP
) $(TARGET_BIN
)/$(WRP_BIN
)
66 $(CP
) $(API_BIN
) $(TARGET_BIN
)
68 $(TARGET_BIN
)/$(WRP_BIN_NOLIC
): $(WIG_LIB
) $(WRP_OBJ
) $(TARGET_LIB
)/$(API_LIB
) $(WIG_LIB
)
69 $(CPLUSPLUS
) $(CFLAGS
) $(WRP_OBJ
) $(WRP_INC
) $(WRP_LIB
) -lm
-o
$(TARGET_BIN
)/$(WRP_BIN_NOLIC
)
70 cp
$(TARGET_BIN
)/$(WRP_BIN_NOLIC
) $(TARGET_BIN
)/$(WRP_BIN
)
72 $(STRIP
) $(TARGET_BIN
)/$(WRP_BIN
)
73 $(CP
) $(API_BIN
) $(TARGET_BIN
)
76 $(MAKE
) -C
$(I_DIR
) AVERTEC_LICENSE
=NO_LICENSE
78 $(TARGET_LIB
)/$(API_LIB
): $(PRE_OBJ
) $(API_OBJ
)
79 $(AR
) $(ARFLAGS
) $(TARGET_LIB
)/$(API_LIB
) $(API_OBJ
)
80 $(RANLIB
) $(TARGET_LIB
)/$(API_LIB
)
81 $(CP
) $(API_BIN
) $(TARGET_BIN
)
84 tt
: $(TARGET_LIB
)/$(API_LIB
) api_lib.h
test.o
85 $(CC
) $(LOCAL_CFLAGS
) $(LOCAL_CPPFLAGS
) test.o
-o tt
$(LIB
)
87 gen_tree_parser.c gen_tree_parser.h
: gen_tree_parser.y
88 $(YACC
) $(LOCAL_YACCFLAGS
) $< -p gen_tree_parser
-o gen_tree_parser.c
90 gen_tree_lexer.c
: gen_tree_lexer.l gen_tree_parser.h
91 $(LEX
) -Pgen_tree_parser
-t
$< > $@
93 gen_library_parser.c gen_library_parser.h
: gen_library_parser.y
94 $(YACC
) $(LOCAL_YACCFLAGS
) $< -p gen_library_parser
-o gen_library_parser.c
96 gen_library_lexer.c
: gen_library_lexer.l gen_library_parser.h
97 $(LEX
) -Pgen_library_parser
-t
$< > $@
99 %.o
: %.
cc $(TARGET_INCLUDE
)/$(API_H
) $(PRE_OBJ
) headers.inc
100 $(CPLUSPLUS
) $(CFLAGS
) $(LOCAL_CPPFLAGS
) $(WRP_CPPFLAGS
) $<
102 %.o
: %.c
$(TARGET_INCLUDE
)/$(API_H
) $(PRE_OBJ
)
103 $(CC
) $(CFLAGS
) $(WRP_CPPFLAGS
) $<
105 headers.inc
: $(TARGET_INCLUDE
)/$(AVT_H
) api_lib.h
106 \grep
"^GRAB_IT" $(TARGET_INCLUDE
)/$(AVT_H
) | sed
-e
"s/^GRAB_IT /Printf(f_header, \"/g" -e
"s/$$/\\\\n\");/g" > tmp
107 \grep
"\/\/GRAB_IT" api_lib.h | sed
-e
"s/^\/\/GRAB_IT /Printf(f_header, \"/g" -e
"s/$$/\\\\n\");/g" >> tmp
108 \grep
"^GRAB_IT" api_lib.h | sed
-e
"s/^GRAB_IT /Printf(f_header, \"/g" -e
"s/$$/\\\\n\");/g" >> tmp
112 $(MAKE
) -C
$(I_DIR
) realclean
114 $(TOUCH
) subdir_license
116 final_wrap
: subdir_license
$(TARGET_BIN
)/$(WRP_BIN
)
120 -$(RM
) -f
$(WRP_OBJ
) $(API_OBJ
) headers.inc
$(PRE_OBJ
)
121 $(MAKE
) -C
$(I_DIR
) clean
122 -$(RM
) -f subdir_license
125 -$(RM
) -f
$(TARGET_BIN
)/license_api
$(TARGET_BIN
)/$(WRP_BIN
) $(TARGET_BIN
)/$(WRP_BIN_NOLIC
) $(TARGET_BIN
)/$(API_BIN
) $(TARGET_LIB
)/$(API_LIB
) $(TARGET_INCLUDE
)/$(API_H
) $(TARGET_INCLUDE
)/api_communication.h
127 -$(RM
) -f gen_tree_parser.output
128 $(MAKE
) -C
$(I_DIR
) realclean
130 dep
: $(SOURCES_LIB
) $(SOURCES
)
131 $(SCC
) -MM
$(CFLAGS
) $(WRP_CPPFLAGS
) $(SOURCES_LIB
) > .depend