146 lines
5.3 KiB
PHP
146 lines
5.3 KiB
PHP
!include ..\makefile.inc
|
|
|
|
COMMON_HEADERS = emdb_types.h EM.h EM_tools.h iel.h EM_hints.h inst_ids.h
|
|
EMDB_SOURCES = $(EMDBDIR)\emdb.txt $(EMDBDIR)\emdb_cut.pl \
|
|
$(EMDBDIR)\dec_private.perl $(EMDBDIR)\emdb_formats.txt \
|
|
$(IA64_DIS_INC)\EM_perl.h
|
|
|
|
EM_BUILDIR = .\build
|
|
PERL_INCLIST = $(PERL_INCLIST) -I $(EM_BUILDIR) -I $O
|
|
INCLUDES = $(INCLUDES);$(EM_BUILDIR)
|
|
|
|
$(IA64_DIS_INC)\decem.h : decoder.h
|
|
copy decoder.h $(IA64_DIS_INC)\decem.h
|
|
|
|
$O\frmt_func.c : $(EM_BUILDIR)/func_build_1.pl \
|
|
$(EM_BUILDIR)/func_build_2.pl $(EMDB_SOURCES) \
|
|
$O\deccpu_emdb.h $O\inst_ids.h
|
|
$(PERL) $(PERL_INCLIST) $(EM_BUILDIR)\func_build_1.pl $O $(EMDBDIR)
|
|
$(PERL) $(PERL_INCLIST) $(EM_BUILDIR)\func_build_2.pl $O $(EMDBDIR)
|
|
|
|
$O\deccpu_emdb.c $O\deccpu_emdb.h : $(EMDB_SOURCES) $O\decoder.txt
|
|
$(PERL) $(EMDBDIR)\emdb_cut.pl -emdb_path $(EMDBDIR) -dir $O \
|
|
-columns $O\decoder.txt \
|
|
-fields inst_id,extensions,format,template_role,ops,flags,mem_size,dec_flags,impls \
|
|
-include $(EM_BUILDIR)\dec_priv_col.h -prefix deccpu
|
|
|
|
$O\dec_emdb.tab: $(EMDBDIR)\emdb.txt $(EMDBDIR)\emdb_cut.pl \
|
|
$(EM_BUILDIR)\dec_priv_col.h
|
|
echo "building dec_emdb.tab"
|
|
$(PERL) $(EMDBDIR)\emdb_cut.pl -table -emdb_path $(EMDBDIR) -dir $O \
|
|
-fields inst_id,format,major_opcode,template_role -prefix dec
|
|
|
|
|
|
###ign_inst.txt must be the last in '-row' sequence
|
|
|
|
$O\dec_ign_emdb.tab: $(EMDBDIR)\emdb.txt $(EMDBDIR)\emdb_cut.pl \
|
|
$O\ign_inst.txt $(EM_BUILDIR)\dec_priv_col.h
|
|
echo "building dec_ign_emdb.tab"
|
|
$(PERL) $(EMDBDIR)\emdb_cut.pl -rows $O\ign_inst.txt \
|
|
-table -emdb_path $(EMDBDIR) -dir $O \
|
|
-fields inst_id,format,major_opcode,template_role \
|
|
-prefix dec_ign
|
|
|
|
$O\inst_ign_ids.h $O\ign_inst.txt: $(EMDBDIR)\emdb.txt \
|
|
$(EMDBDIR)\emdb_formats.txt $(EM_BUILDIR)\build_ignored_flds.pl
|
|
$(PERL) $(PERL_INCLIST) \
|
|
$(EM_BUILDIR)\build_ignored_flds.pl $O $(EMDBDIR)
|
|
|
|
$O\inst_emdb.tab: $(EMDBDIR)\emdb.txt $(EMDBDIR)\emdb_cut.pl \
|
|
$(EM_BUILDIR)\dec_priv_col.h
|
|
$(PERL) $(EMDBDIR)\emdb_cut.pl -table -emdb_path $(EMDBDIR) \
|
|
-dir $O -fields inst_id -prefix inst
|
|
|
|
$O\builder_info.c $O\builder_info.h: $(EMDBDIR)\emdb_formats.txt \
|
|
$(EM_BUILDIR)\tree_builder.perl $O\dec_ign_emdb.tab \
|
|
$(IA64_DIS_INC)\EM_perl.h
|
|
echo "building builder_info.c"
|
|
$(PERL) $(PERL_INCLIST) $(EM_BUILDIR)\tree_builder.perl $O $(EMDBDIR)
|
|
|
|
$O\decfn_emdb.c: $O\deccpu_emdb.c $O\deccpu_emdb.h \
|
|
$(EM_BUILDIR)\func_build_1.pl \
|
|
$(EM_BUILDIR)\hard_coded_fields_h.perl
|
|
$(PERL) $(PERL_INCLIST) $(EM_BUILDIR)\func_build_1.pl $O $(EMDBDIR)
|
|
|
|
$O\dec_static.c: $O\dec1_emdb.c $O\dec1_emdb.h \
|
|
$(EM_BUILDIR)\build_static_info.pl $(IA64_DIS_INC)\EM_perl.h
|
|
$(PERL) $(PERL_INCLIST) $(EM_BUILDIR)\build_static_info.pl $O $(EMDBDIR)
|
|
|
|
|
|
###ign_inst.txt must be the last in '-row' sequence
|
|
|
|
$O\dec_ign_emdb.c $O\dec_ign_emdb.h : $O\ign_inst.txt \
|
|
$(EMDB_SOURCES)
|
|
$(PERL) $(EMDBDIR)\emdb_cut.pl -emdb_path $(EMDBDIR) -dir $O \
|
|
-rows $O\ign_inst.txt \
|
|
-fields inst_id,extensions,format,template_role,ops,flags \
|
|
-include $(EM_BUILDIR)\dec_priv_col.h -prefix dec_ign
|
|
$(PERL) -p -i.bak -e "s/_IGN\d+// if ( /\s*\{EM_\S*\_IGN\d+,/)" \
|
|
$O\dec_ign_emdb.c
|
|
|
|
$O\dec1_emdb.c $O\dec1_emdb.h : $(EMDBDIR)\emdb.txt $(EMDBDIR)\emdb_cut.pl \
|
|
$O\decoder.txt $(EMDBDIR)\dec_stat.txt
|
|
$(PERL) $(EMDBDIR)\emdb_cut.pl -emdb_path $(EMDBDIR) -dir $O -columns \
|
|
$O\decoder.txt,$(EMDBDIR)\dec_stat.txt -fields\
|
|
mnemonic,dec_flags,template_role,ops,modifiers,flags,specul_flag,false_pred_flag,imp_dsts,imp_srcs,br_hint_flag,br_flag,adv_load_flag,control_transfer_flag \
|
|
-prefix dec1
|
|
|
|
$(IA64_DIS_INC)\EM_hints.h: $O\EM_hints.h
|
|
copy $O\EM_hints.h $(IA64_DIS_INC)\EM_hints.h
|
|
|
|
$(IA64_DIS_INC)\inst_ids.h: $O\inst_ids.h
|
|
copy $O\inst_ids.h $(IA64_DIS_INC)\inst_ids.h
|
|
|
|
$O\inst_ids.h: $O\inst_emdb.tab $(EM_BUILDIR)\inst_id.perl \
|
|
..\copyright\external\c_file
|
|
$(PERL) $(EM_BUILDIR)\inst_id.perl $O $(EMDBDIR)
|
|
|
|
$O\all_emdb.tab: $(EMDBDIR)\emdb.txt
|
|
$(PERL) $(EMDBDIR)\emdb_cut.pl -table -emdb_path $(EMDBDIR) -dir $O \
|
|
-fields inst_id,mnemonic -prefix all
|
|
|
|
$O\decoder.txt $O\EM_hints.h: $O\all_emdb.tab $(EMDBDIR)\emdb_cut.pl
|
|
$(PERL) $(EMDBDIR)\dec_private.perl $O $(EMDBDIR)
|
|
|
|
!if "$(GENERATE_DECISION_TREE)" == ""
|
|
|
|
$O\decision_tree.c: decision_tree.c
|
|
copy decision_tree.c $O
|
|
|
|
!else
|
|
|
|
$O\tree_builder.h : $(EM_BUILDIR)\tree_builder.c
|
|
echo "building tree_builder.h"
|
|
$(MHDR) $O\tree_builder.h $(EM_BUILDIR)\tree_builder.c
|
|
|
|
$O\decision_tree.c: $O\tree_builder$(EEXT)
|
|
"$O\tree_builder$(EEXT)" $O\decision_tree.c
|
|
|
|
$O\builder_info.obj: $O\builder_info.c
|
|
|
|
$O\dec_ign_emdb.obj: $O\dec_ign_emdb.c
|
|
|
|
$O\tree_builder.c: $(EM_BUILDIR)\tree_builder.c
|
|
copy $(EM_BUILDIR)\tree_builder.c $O
|
|
|
|
$O\tree_builder.obj: $O\tree_builder.c
|
|
|
|
$O\tree_builder$(EEXT): $(EM_BUILDIR)\tree.h $O\tree_builder.h \
|
|
$O\inst_ids.h $O\inst_ign_ids.h \
|
|
$O\builder_info.obj $O\dec_ign_emdb.obj $O\tree_builder.obj
|
|
$(LINKER) @<<
|
|
$(LINKER_FLAGS: =
|
|
)
|
|
-subsystem:console
|
|
$O\builder_info.obj
|
|
$O\dec_ign_emdb.obj
|
|
$O\tree_builder.obj
|
|
..\iel\$O\iel.lib
|
|
$(CRTLIBS)
|
|
$(UMLIBS)
|
|
$(LINKLIBS)
|
|
<<NOKEEP
|
|
|
|
!endif
|
|
|