1 .include "../Makefile.inc"
2 .include "../../Makefile.langs"
4 NXCFLAGS+= -DGENERATOR_FILE -I${.OBJDIR}
7 MIC= sh ${GCCDIR}/move-if-change
9 BUILD_LIBS= ../libiberty/libiberty.na
10 BUILD_RTL= rtl.no read-rtl.no ggc-none.no vec.no \
11 min-insn-modes.no gensupport.no print-rtl.no
12 BUILD_ERRORS= errors.no
15 ${BUILD_RTL}: tm.h insn-modes.h gtype-desc.h
18 genprogmd = attr attrtab automata codes conditions config constants emit \
19 extract flags mddeps opinit output peep preds recog
20 .for f in ${genprogmd}
21 gen$f.nx: ${BUILD_RTL} ${BUILD_ERRORS}
24 gengenrtl.nx: ${BUILD_ERRORS}
25 genmodes.nx: ${BUILD_ERRORS}
26 gengtype.nx: gengtype-lex.no gengtype-parse.no ${BUILD_ERRORS}
28 NEED_RTL= support attr attrtab automata codes conditions config \
29 constants emit extract flags mddeps opinit output peep \
31 ${NEED_RTL:S/^/gen/g:S/$/.no/g} print-rtl.no read-rtl.no: insn-modes.h
33 genattrtab.no ggc-none.no vec.no: gtype-desc.h
36 GENTOOLS+= gengenrtl.nx genmodes.nx gengtype.nx gencheck.nx
37 GENTOOLS+= gencondmd.nx gcov-iov.nx genchecksum.nx
39 $f: ${f:.nx=.no} ${BUILD_LIBS}
40 ${NXCC} ${NXCFLAGS} ${NXLDFLAGS} ${.ALLSRC:M*.n[oa]} ${NXLDLIBS} -o ${.TARGET}
43 gencondmd.no: tree-check.h insn-constants.h
45 CLEANFILES+= ${GENTOOLS} ${GENTOOLS:.nx=.no}
46 CLEANFILES+= gengtype-lex.c gengtype-lex.no gengtype-parse.no
47 CLEANFILES+= ${BUILD_RTL} ${BUILD_ERRORS}
53 ${MIC} ${.TARGET}.tmp ${.TARGET}
55 ${.OBJDIR}/${.ALLSRC:M*.nx} > ${.TARGET}.tmp
57 ${.OBJDIR}/${.ALLSRC:M*.nx} ${md_file} > ${.TARGET}.tmp
59 simple_generated_h = insn-attr.h insn-codes.h insn-config.h insn-flags.h
61 simple_generated_c = insn-attrtab.c insn-automata.c insn-emit.c \
62 insn-extract.c insn-opinit.c insn-output.c \
63 insn-peep.c insn-recog.c
65 .for f in ${simple_generated_h} ${simple_generated_c}
66 .for p in gen${f:R:S/^insn-//}.nx
67 $f: $p ${MD_DEPS} insn-conditions.md _MIC
68 ${.OBJDIR}/$p ${md_file} insn-conditions.md > ${.TARGET}.tmp
72 insn-constants.h: genconstants.nx ${MD_DEPS} _MD
73 tree-check.h: gencheck.nx _PL
74 gencondmd.c: genconditions.nx ${MD_DEPS} tm-preds.h tm-constrs.h _MD
75 insn-conditions.md: gencondmd.nx _PL
76 genrtl.c: gengenrtl.nx _PL
77 genrtl.h: gengenrtl.nx _MIC
78 ${.OBJDIR}/${.ALLSRC:M*.nx} -h > ${.TARGET}.tmp
79 insn-modes.c: genmodes.nx _PL
80 insn-modes.h: genmodes.nx _MIC
81 ${.OBJDIR}/${.ALLSRC:M*.nx} -h > ${.TARGET}.tmp
82 min-insn-modes.c: genmodes.nx _MIC
83 ${.OBJDIR}/${.ALLSRC:M*.nx} -m > ${.TARGET}.tmp
84 insn-preds.c: genpreds.nx _MD
85 tm-preds.h: genpreds.nx _MIC
86 ${.OBJDIR}/${.ALLSRC:M*.nx} -h ${md_file} > ${.TARGET}.tmp
87 tm-constrs.h: genpreds.nx _MIC
88 ${.OBJDIR}/${.ALLSRC:M*.nx} -c ${md_file} > ${.TARGET}.tmp
89 gtype-desc.c gtype-desc.h: gengtype.nx gtyp-input.list ${GTFILES:N[*]}
90 ${.OBJDIR}/${.ALLSRC:M*.nx} ${GCCDIR}/gcc ${.ALLSRC:M*.list}
91 gcov-iov.h: gcov-iov.nx BASE-VER _MIC
92 ${.OBJDIR}/${.ALLSRC:M*.nx} "$$(cat ${.ALLSRC:M*BASE-VER})" "" > ${.TARGET}.tmp
96 for f in ${GTFILES}; \
98 echo "$$f" >> ${.TARGET}.tmp; \
103 ${simple_generated_h} ${simple_generated_c} \
104 insn-constants.h tree-check.h gencondmd.c insn-conditions.md \
105 genrtl.c genrtl.h insn-modes.c insn-modes.h min-insn-modes.c \
106 insn-preds.c tm-preds.h tm-constrs.h gtype-desc.c gtype-desc.h \
109 CLEANFILES+= ${GENFILES} gtyp-input.list
110 CLEANFILES+= gt-* gtype-*.h
112 genfiles: ${GENTOOLS} ${GENFILES}
115 .include <bsd.obj.mk>
116 .include <bsd.dep.mk>