2 # This file is part of the program psim.
4 # Copyright 1994, 1995, 1996, 1997, 2003 Andrew Cagney
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, see <http://www.gnu.org/licenses/>.
24 srccom
= $(srcdir)/..
/common
25 srcroot
= $(srcdir)/..
/..
28 # Helper code from gnulib.
29 GNULIB_PARENT_DIR
= ..
/..
30 include $(GNULIB_PARENT_DIR
)/gnulib
/Makefile.gnulib.inc
32 # Settings from top-level configure.
33 include ..
/arch-subdir.mk
36 exec_prefix = @
exec_prefix@
40 tooldir
= $(libdir)/$(target_alias
)
42 datarootdir
= @datarootdir@
45 man1dir = $(mandir)/man1
46 man2dir = $(mandir)/man2
47 man3dir = $(mandir)/man3
48 man4dir = $(mandir)/man4
49 man5dir = $(mandir)/man5
50 man6dir = $(mandir)/man6
51 man7dir = $(mandir)/man7
52 man8dir = $(mandir)/man8
53 man9dir = $(mandir)/man9
55 includedir = @
includedir@
57 # This can be referenced by the gettext configuration code.
65 INLINE_CFLAGS
= $(SIM_INLINE
)
66 SMP_CFLAGS
= @sim_smp@
67 XOR_ENDIAN_CFLAGS
= @sim_xor_endian@
68 BITSIZE_CFLAGS
= @sim_bitsize@
69 HOSTBITSIZE_CFLAGS
= @sim_hostbitsize@
70 TIMEBASE_CFLAGS
= @sim_timebase@
71 FLOAT_CFLAGS
= @sim_float@
72 MONITOR_CFLAGS
= @sim_monitor@
73 MODEL_CFLAGS
= @sim_model@ @sim_default_model@ @sim_model_issue@
74 TERMIO_CFLAGS
= @sim_termio@
75 DEVZERO_CFLAGS
= @sim_devzero@
78 $(XOR_ENDIAN_CFLAGS
) \
80 $(HOSTBITSIZE_CFLAGS
) \
87 SIM_FPU_CFLAGS
= @sim_fpu_cflags@
89 STD_CFLAGS
= $(CFLAGS
) $(WERROR_CFLAGS
) $(INLINE_CFLAGS
) $(CONFIG_CFLAGS
) $(WARN_CFLAGS
) $(INCLUDES
) $(INCGNU
) $(INTL_CFLAGS
) $(SIM_FPU_CFLAGS
)
90 NOWARN_CFLAGS
= $(CFLAGS
) $(INLINE_CFLAGS
) $(CONFIG_CFLAGS
) $(INCLUDES
) $(SIM_FPU_CFLAGS
)
91 BUILD_CFLAGS
= $(CFLAGS_FOR_BUILD
) $(INCLUDES
) $(WARN_CFLAGS
)
93 LIBS
= $(COMMON_LIBS
) @LIBS@
$(LIBGNU
) $(LIBGNU_EXTRA_LIBS
)
95 COMPILE_FOR_BUILD
= $(CC_FOR_BUILD
) $(BUILD_CFLAGS
)
96 LINK_FOR_BUILD
= $(CC_FOR_BUILD
) $(BUILD_CFLAGS
) $(LDFLAGS_FOR_BUILD
) -o
$@
98 IGEN_OPCODE_RULES
= @sim_opcode@
99 IGEN_DECODE_MECHANISM
= @sim_decode_mechanism@
100 IGEN_DUPLICATE
= @sim_dup@
101 IGEN_JUMP
= @sim_jump@
102 IGEN_FILTER
= @sim_filter@
103 IGEN_ICACHE
= @sim_icache@
104 IGEN_SMP
= @sim_igen_smp@
105 IGEN_LINE_NR
= @sim_line_nr@
106 DGEN_FLAGS
= @sim_switch@
109 $(IGEN_DECODE_MECHANISM
) \
117 # igen/dgen leak memory, and therefore makes AddressSanitizer unhappy. Disable
118 # leak detection while running them.
120 IGEN
= ASAN_OPTIONS
=detect_leaks
=0 .
/igen
121 DGEN
= ASAN_OPTIONS
=detect_leaks
=0 .
/dgen
126 LIB_INCLUDES
= -I
$(srcdir)/..
/..
/include
127 BFD_INCLUDES
= -I..
/..
/bfd
-I
$(srcdir)/..
/..
/bfd
128 GDB_INCLUDES
= -I..
/..
/gdb
-I
$(srcdir)/..
/..
/gdb
-I
$(srcdir)/..
/..
/gdb
/config
130 INCLUDES
= -I.
-I
$(srcdir) $(LIB_INCLUDES
) $(BFD_INCLUDES
) $(GDB_INCLUDES
) -I..
/..
132 LIBIBERTY_LIB
= ..
/..
/libiberty
/libiberty.a
133 BFD_LIB
= ..
/..
/bfd
/libbfd.a
134 ZLIB
= $(zlibdir
) -lz
139 all: run
$(EXEEXT
) $(TARGETLIB
) $(GDB_OBJ
)
142 $(CC
) -c
$(STD_CFLAGS
) $<
145 # Headers outside sim/ppc.
146 ANSIDECL_H
= $(srcroot
)/include/ansidecl.h
147 BFD_H
= ..
/..
/bfd
/bfd.h
148 GDB_CALLBACK_H
= $(srcroot
)/include/sim
/callback.h
149 GDB_REMOTE_SIM_H
= $(srcroot
)/include/sim
/sim.h
150 GDB_SIM_PPC_H
= $(srcroot
)/include/gdb
/sim-ppc.h
151 COMMON_SIM_BASE_H
= $(srcroot
)/sim
/common
/sim-base.h
152 COMMON_SIM_BASICS_H
= $(srcroot
)/sim
/common
/sim-basics.h
153 COMMON_SIM_FPU_H
= $(srcroot
)/sim
/common
/sim-fpu.h
154 COMMON_SIM_INLINE_H
= $(srcroot
)/sim
/common
/sim-inline.h
155 COMMON_SIM_SIGNAL_H
= $(srcroot
)/sim
/common
/sim-signal.h
157 # Headers in sim/ppc.
161 ALTIVEC_EXPRESSION_H
= \
164 ALTIVEC_REGISTERS_H
= \
222 E500_EXPRESSION_H
= \
251 FILTER_FILENAME_H
= \
284 IDECODE_EXPRESSION_H
= \
285 idecode_expression.h \
286 $(ALTIVEC_EXPRESSION_H
) \
335 $(E500_REGISTERS_H
) \
336 $(ALTIVEC_REGISTERS_H
) \
351 $(COMMON_SIM_BASICS_H
) \
352 $(COMMON_SIM_SIGNAL_H
) \
389 $(IDECODE_EXPRESSION_H
) \
390 $(IDECODE_FIELDS_H
) \
419 BUILT_SRC_WO_CONFIG
= \
421 support.h support.c \
422 idecode.h idecode.c \
423 semantics.h semantics.c \
427 support.h support.c \
434 $(BUILT_SRC_WO_CONFIG
) \
469 COMMON_OBJS_NAMES
= \
471 COMMON_OBJS
= $(COMMON_OBJS_NAMES
:%=..
/common
/common_libcommon_a-
%)
473 # NOTE: semantics, idecode and psim put last so smaller files are compiled
512 GDB_OBJ
= gdb-sim.o sim_calls.o @sim_callback@
514 HW_SRC
= @sim_hw_src@
515 HW_OBJ
= @sim_hw_obj@
517 PACKAGE_SRC
= @sim_pk_src@
518 PACKAGE_OBJ
= @sim_pk_obj@
521 psim
$(EXEEXT
): $(TARGETLIB
) main.o
$(LIBIBERTY_LIB
) $(BFD_LIB
) $(LIBINTL_DEP
)
522 $(CC
) $(CFLAGS
) $(LDFLAGS
) -o psim
$(EXEEXT
) main.o
$(TARGETLIB
) $(BFD_LIB
) $(ZLIB
) $(LIBINTL
) $(LIBIBERTY_LIB
) $(LIBS
)
524 run
$(EXEEXT
): psim
$(EXEEXT
)
526 ln
$< $@
2>/dev
/null ||
$(LN_S
) $< $@
2>/dev
/null || cp
-p
$< $@
528 $(TARGETLIB
): tmp-igen tmp-dgen tmp-hw tmp-pk tmp-defines
$(LIB_OBJ
) $(GDB_OBJ
)
530 $(AR
) $(AR_FLAGS
) $(TARGETLIB
) $(LIB_OBJ
) $(GDB_OBJ
)
531 $(RANLIB
) $(TARGETLIB
)
533 psim.o
: psim.c
$(CPU_H
) $(IDECODE_H
) $(OPTIONS_H
) $(TREE_H
) $(BFD_H
)
535 bits.o
: bits.c
$(BASICS_H
)
537 debug.o
: debug.c
$(CONFIG_H
) $(BASICS_H
)
538 filter_filename.o
: filter_filename.c
$(CONFIG_H
) $(FILTER_FILENAME_H
)
540 sim-endian.o
: sim-endian.c
$(CONFIG_H
) $(BASICS_H
) $(SIM_ENDIAN_N_H
)
542 os_emul.o
: os_emul.c
$(CPU_H
) $(IDECODE_H
) $(OS_EMUL_H
) $(EMUL_GENERIC_H
) $(EMUL_NETBSD_H
) $(EMUL_UNIX_H
) $(EMUL_CHIRP_H
) $(EMUL_BUGAPI_H
)
543 emul_generic.o
: emul_generic.c
$(EMUL_GENERIC_H
)
545 emul_bugapi.o
: emul_bugapi.c
$(EMUL_GENERIC_H
) $(EMUL_BUGAPI_H
)
546 emul_chirp.o
: emul_chirp.c
$(EMUL_GENERIC_H
) $(EMUL_CHIRP_H
)
547 emul_netbsd.o
: emul_netbsd.c
$(EMUL_GENERIC_H
) $(EMUL_NETBSD_H
)
548 emul_unix.o
: emul_unix.c
$(EMUL_GENERIC_H
) $(EMUL_UNIX_H
)
550 registers.o
: registers.c
$(BASICS_H
) $(REGISTERS_H
)
552 cpu.o
: cpu.c
$(CPU_H
) $(IDECODE_H
)
554 interrupts.o
: interrupts.c
$(CPU_H
) $(IDECODE_H
) $(OS_EMUL_H
)
556 # Given that inlines are turned on now, rebuild idecode whenever
558 idecode.o
: idecode.c
$(CPU_H
) $(IDECODE_H
) $(SEMANTICS_H
) $(LIB_INLINE_SRC
) $(BUILT_SRC
)
560 # double.o: double.c dp-bit.c
562 vm.o
: vm.c
$(BASICS_H
) $(REGISTERS_H
) $(DEVICE_H
) $(COREFILE_H
) $(VM_H
) $(INTERRUPTS_H
) $(MON_H
) $(CPU_H
) $(VM_N_H
)
564 corefile.o
: corefile.c
$(BASICS_H
) $(DEVICE_TABLE_H
) $(COREFILE_H
) $(COREFILE_N_H
)
566 model.o
: model.c
$(CPU_H
) $(MON_H
)
568 events.o
: events.c
$(BASICS_H
) $(EVENTS_H
)
570 sim_calls.o
: sim_calls.c
$(PSIM_H
) $(OPTIONS_H
) $(DEFS_H
) $(BFD_H
) $(GDB_CALLBACK_H
) $(GDB_REMOTE_SIM_H
)
572 gdb-sim.o
: gdb-sim.c
$(PSIM_H
) $(OPTIONS_H
) $(REGISTERS_H
) $(GDB_REMOTE_SIM_H
) $(GDB_SIM_PPC_H
) $(SIM_CALLBACK_H
)
574 spreg.o
: spreg.c
$(BASICS_H
) $(SPREG_H
)
576 main.o
: main.c
$(PSIM_H
) $(OPTIONS_H
) $(DEVICE_H
) $(EVENTS_H
) $(BFD_H
) $(GDB_CALLBACK_H
) $(GDB_REMOTE_SIM_H
)
578 device.o
: device.c
$(DEVICE_TABLE_H
) $(CAP_H
) $(EVENTS_H
) $(PSIM_H
)
580 tree.o
: tree.c
$(BASICS_H
) $(DEVICE_H
) $(TREE_H
)
582 device_table.o
: device_table.c
$(DEVICE_TABLE_H
) hw.c
584 cap.o
: cap.c
$(CAP_H
)
586 semantics.o
: semantics.c
$(CPU_H
) $(IDECODE_H
) $(SEMANTICS_H
) $(COMMON_SIM_INLINE_H
) $(COMMON_SIM_FPU_H
) $(SUPPORT_H
)
588 icache.o
: icache.c
$(CPU_H
) $(IDECODE_H
) $(SEMANTICS_H
) $(ICACHE_H
) $(COMMON_SIM_INLINE_H
) $(COMMON_SIM_FPU_H
) $(SUPPORT_H
)
590 support.o
: support.c
$(CPU_H
) $(IDECODE_H
) $(COMMON_SIM_INLINE_H
) $(COMMON_SIM_FPU_H
) $(SUPPORT_H
)
592 itable.o
: itable.c
$(ITABLE_H
)
594 mon.o
: mon.c
$(BASICS_H
) $(CPU_H
) $(MON_H
)
596 # GDB after 4.16 expects the default_callback structure to be setup.
597 # As a kludge, build the common stuff here for now.
598 gentmap
: $(srcdir)/..
/common
/gentmap.c Makefile targ-vals.def
599 $(LINK_FOR_BUILD
) -I.
-I..
/common
-I
$(srcdir)/..
/common \
600 $(srcdir)/..
/common
/gentmap.c
-DUSE_CONFIG_H
602 targ-vals.def
: $(srcdir)/..
/common
/nltvals.def
603 rm -f targ-vals.def tmp-def
604 cat
$(srcdir)/..
/common
/nltvals.def
> tmp-vals.def
605 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-vals.def targ-vals.def
607 targ-vals.h
: stamp-vals
; @true
608 stamp-vals
: Makefile gentmap
$(srcdir)/..
/..
/move-if-change
610 .
/gentmap
-h
> tmp-vals.h
611 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-vals.h targ-vals.h
612 @echo stamp
> stamp-vals
614 targ-map.c
: stamp-map
; @true
615 stamp-map
: Makefile gentmap
$(srcdir)/..
/..
/move-if-change
617 .
/gentmap
-c
> tmp-map.c
618 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-map.c targ-map.c
619 @echo stamp
> stamp-map
621 callback.o
: $(srcdir)/..
/common
/callback.c
$(TARG_VALS_H
) $(CONFIG_H
)
622 $(CC
) -c
$(STD_CFLAGS
) -DHAVE_CONFIG_H
$(srcdir)/..
/common
/callback.c
624 targ-map.o
: targ-map.c
$(ANSIDECL_H
) $(GDB_CALLBACK_H
) $(TARG_VALS_H
)
626 sim-fpu.o
: $(srcdir)/..
/common
/sim-fpu.c
$(CONFIG_H
)
627 $(CC
) -c
$(STD_CFLAGS
) -DHAVE_CONFIG_H
$(srcdir)/..
/common
/sim-fpu.c
629 # Rebuild options whenever something changes so the date/time is up to date.
630 options.o
: options.c
$(CPU_H
) $(OPTIONS_H
) $(DEFINES_H
) $(BASICS_H
) $(IDECODE_H
) $(INLINE
) $(LIB_SRC
) $(BUILT_SRC
) config.status Makefile
631 $(CC
) -c
$(STD_CFLAGS
) '-DOPCODE_RULES="@sim_opcode@"' '-DIGEN_FLAGS="$(IGEN_FLAGS)"' '-DDGEN_FLAGS="$(DGEN_FLAGS)"' $(srcdir)/options.c
633 defines.h
: tmp-defines
; @true
634 tmp-defines
: config.h Makefile
635 sed
-n
-e
'/^#define HAVE_/s/ 1$$/",/' -e
'/^#define HAVE_/s//"HAVE_/p' < config.h
> tmp-defines.h
636 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-defines.h defines.h
640 # Rules to create the built c source code files
643 tmp-dgen
: dgen ppc-spr-table
$(srcdir)/..
/..
/move-if-change
644 $(DGEN
) $(DGEN_FLAGS
) \
645 -r
$(srcdir)/ppc-spr-table \
646 -n spreg.h
-hp tmp-spreg.h \
647 -n spreg.c
-p tmp-spreg.c
648 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-spreg.h spreg.h
649 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-spreg.c spreg.c
652 tmp-igen
: igen
$(srcdir)/ppc-instructions
$(srcdir)/altivec.igen
$(srcdir)/e500.igen
$(IGEN_OPCODE_RULES
) $(srcdir)/..
/..
/move-if-change tmp-ld-decode tmp-ld-cache tmp-ld-insn tmp-filter
653 $(IGEN
) $(IGEN_FLAGS
) \
654 -o
$(srcdir)/$(IGEN_OPCODE_RULES
) \
655 -I
$(srcdir) -i
$(srcdir)/ppc-instructions \
656 -n icache.h
-hc tmp-icache.h \
657 -n icache.c
-c tmp-icache.c \
658 -n semantics.h
-hs tmp-semantics.h \
659 -n semantics.c
-s tmp-semantics.c \
660 -n idecode.h
-hd tmp-idecode.h \
661 -n idecode.c
-d tmp-idecode.c \
662 -n itable.h
-ht tmp-itable.h \
663 -n itable.c
-t tmp-itable.c \
664 -n model.h
-hm tmp-model.h \
665 -n model.c
-m tmp-model.c \
666 -n support.h
-hf tmp-support.h \
667 -n support.c
-f tmp-support.c
668 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-icache.h icache.h
669 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-icache.c icache.c
670 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-idecode.h idecode.h
671 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-idecode.c idecode.c
672 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-semantics.h semantics.h
673 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-semantics.c semantics.c
674 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-itable.h itable.h
675 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-itable.c itable.c
676 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-model.h model.h
677 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-model.c model.c
678 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-support.h support.h
679 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-support.c support.c
682 # NOTE: Some versions of make don't handle files created as side-effects
683 # uncomment the below if that is the case.
685 $(TARGETLIB
): tmp-igen tmp-dgen
686 itable.h itable.c icache.h icache.c idecode.h idecode.c semantics.h semantics.c model.h model.c support.h support.c
: tmp-igen
687 spreg.h spreg.c
: tmp-dgen
689 dgen
: dgen.o table.o lf.o misc.o filter_host.o
690 $(LINK_FOR_BUILD
) dgen.o table.o lf.o misc.o filter_host.o
692 igen
: igen.o table.o lf.o misc.o filter_host.o ld-decode.o ld-cache.o
filter.o ld-insn.o gen-model.o gen-itable.o gen-icache.o gen-semantics.o gen-idecode.o gen-support.o
693 $(LINK_FOR_BUILD
) igen.o table.o lf.o misc.o filter_host.o ld-decode.o ld-cache.o
filter.o ld-insn.o gen-model.o gen-itable.o gen-icache.o gen-semantics.o gen-idecode.o gen-support.o
695 filter_host.c
: filter_filename.c
696 cat
$(srcdir)/filter_filename.c
> filter_host.c
698 filter_host.o
: filter_host.c
$(CONFIG_H
) $(FILTER_FILENAME_H
)
699 $(COMPILE_FOR_BUILD
) -c filter_host.c
701 table.o
: table.c
$(CONFIG_H
) $(MISC_H
) $(LF_H
) $(TABLE_H
)
702 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/table.c
704 lf.o
: lf.c
$(CONFIG_H
) $(MISC_H
) $(LF_H
)
705 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/lf.c
707 filter.o
: filter.c
$(CONFIG_H
) $(MISC_H
) $(FILTER_H
)
708 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/filter.c
709 tmp-filter
: filter.c
$(MISC_H
) misc.o
710 $(LINK_FOR_BUILD
) -DMAIN
$(srcdir)/filter.c misc.o
712 ld-decode.o
: ld-decode.c
$(MISC_H
) $(LF_H
) $(TABLE_H
) $(LD_DECODE_H
)
713 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/ld-decode.c
714 tmp-ld-decode
: ld-decode.c misc.o lf.o table.o filter_host.o
715 $(LINK_FOR_BUILD
) -DMAIN
$(srcdir)/ld-decode.c misc.o lf.o table.o filter_host.o
717 ld-cache.o
: ld-cache.c
$(MISC_H
) $(LF_H
) $(TABLE_H
) $(LD_CACHE_H
)
718 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/ld-cache.c
719 tmp-ld-cache
: ld-cache.c misc.o lf.o table.o filter_host.o
720 $(LINK_FOR_BUILD
) -DMAIN
$(srcdir)/ld-cache.c misc.o lf.o table.o filter_host.o
722 ld-insn.o
: ld-insn.c
$(MISC_H
) $(LF_H
) $(TABLE_H
) $(FILTER_H
) $(LD_DECODE_H
) $(LD_CACHE_H
) $(LD_INSN_H
) $(IGEN_H
)
723 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/ld-insn.c
724 tmp-ld-insn
: ld-insn.c ld-cache.o misc.o lf.o table.o ld-decode.o filter_host.o
filter.o
725 $(LINK_FOR_BUILD
) -DMAIN
$(srcdir)/ld-insn.c ld-cache.o misc.o lf.o table.o ld-decode.o filter_host.o
filter.o
727 gen-model.o
: gen-model.c
$(MISC_H
) $(LF_H
) $(TABLE_H
) $(FILTER_H
) $(LD_CACHE_H
) $(LD_DECODE_H
) $(LD_INSN_H
) $(GEN_MODEL_H
)
728 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/gen-model.c
730 gen-itable.o
: gen-itable.c
$(MISC_H
) $(LF_H
) $(TABLE_H
) $(FILTER_H
) $(LD_CACHE_H
) $(LD_DECODE_H
) $(LD_INSN_H
) $(IGEN_H
) $(GEN_ITABLE_H
)
731 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/gen-itable.c
733 gen-icache.o
: gen-icache.c
$(MISC_H
) $(LF_H
) $(TABLE_H
) $(FILTER_H
) $(LD_DECODE_H
) $(LD_CACHE_H
) $(LD_INSN_H
) $(IGEN_H
) $(GEN_SEMANTICS_H
) $(GEN_IDECODE_H
) $(GEN_ICACHE_H
)
734 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/gen-icache.c
736 gen-semantics.o
: gen-semantics.c
$(MISC_H
) $(LF_H
) $(TABLE_H
) $(FILTER_H
) $(LD_DECODE_H
) $(LD_CACHE_H
) $(LD_INSN_H
) $(IGEN_H
) $(GEN_SEMANTICS_H
) $(GEN_ICACHE_H
) $(GEN_IDECODE_H
)
737 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/gen-semantics.c
739 gen-idecode.o
: gen-idecode.c
$(MISC_H
) $(LF_H
) $(TABLE_H
) $(FILTER_H
) $(LD_DECODE_H
) $(LD_CACHE_H
) $(LD_INSN_H
) $(IGEN_H
) $(GEN_IDECODE_H
) $(GEN_ICACHE_H
) $(GEN_SEMANTICS_H
)
740 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/gen-idecode.c
742 gen-support.o
: gen-support.c
$(MISC_H
) $(LF_H
) $(TABLE_H
) $(FILTER_H
) $(LD_DECODE_H
) $(LD_CACHE_H
) $(LD_INSN_H
) $(IGEN_H
) $(GEN_SEMANTICS_H
) $(GEN_SUPPORT_H
)
743 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/gen-support.c
745 dgen.o
: dgen.c
$(CONFIG_H
) $(MISC_H
) $(LF_H
) $(TABLE_H
)
746 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/dgen.c
748 igen.o
: igen.c
$(MISC_H
) $(LF_H
) $(TABLE_H
) $(CONFIG_H
) $(FILTER_H
) $(LD_CACHE_H
) $(LD_DECODE_H
) $(LD_INSN_H
) $(IGEN_H
) $(GEN_MODEL_H
) $(GEN_ICACHE_H
) $(GEN_ITABLE_H
) $(GEN_IDECODE_H
) $(GEN_SEMANTICS_H
) $(GEN_SUPPORT_H
)
749 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/igen.c
751 misc.o
: misc.c
$(CONFIG_H
) $(MISC_H
)
752 $(COMPILE_FOR_BUILD
) -c
$(srcdir)/misc.c
757 hw.c hw.h
: tmp-hw
; @true
758 tmp-hw
: Makefile
$(HW_SRC
) $(srcdir)/..
/..
/move-if-change
759 # The first for loop is to remove duplicates.
761 for i in
$(HW_SRC
) ; do \
767 for hw in
$$f ; do echo
$$hw ; done \
768 | sed
-e
's/^.*\(hw_.*\)\.c/\1/' \
769 -e
's/^/extern const device_descriptor /' \
770 -e
's/$$/_device_descriptor\[\];/' \
773 for i in
$(HW_SRC
) ; do \
779 for hw in
$$f ; do echo
$$hw ; done \
780 | sed
-e
's/^.*\(hw_.*\)\.c/\1/' \
782 -e
's/$$/_device_descriptor,/' \
784 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-hw.h hw.h
785 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-hw.c hw.c
788 hw_cpu.o
: hw_cpu.c
$(DEVICE_TABLE_H
) $(HW_CPU_H
) $(INTERRUPTS_H
) $(CPU_H
)
789 hw_com.o
: hw_com.c
$(DEVICE_TABLE_H
)
790 hw_core.o
: hw_core.c
$(DEVICE_TABLE_H
) $(COREFILE_H
)
791 hw_disk.o
: hw_disk.c
$(DEVICE_TABLE_H
) $(PK_H
)
792 hw_eeprom.o
: hw_eeprom.c
$(DEVICE_TABLE_H
)
793 hw_glue.o
: hw_glue.c
$(DEVICE_TABLE_H
)
794 hw_htab.o
: hw_htab.c
$(DEVICE_TABLE_H
) $(BFD_H
)
795 hw_ide.o
: hw_ide.c
$(DEVICE_TABLE_H
)
796 hw_init.o
: hw_init.c
$(DEVICE_TABLE_H
) $(BFD_H
) $(PSIM_H
)
797 hw_iobus.o
: hw_iobus.c
$(DEVICE_TABLE_H
)
798 hw_memory.o
: hw_memory.c
$(DEVICE_TABLE_H
)
799 hw_nvram.o
: hw_nvram.c
$(DEVICE_TABLE_H
)
800 hw_opic.o
: hw_opic.c
$(DEVICE_TABLE_H
)
801 hw_pal.o
: hw_pal.c
$(DEVICE_TABLE_H
) $(CPU_H
)
802 hw_phb.o
: hw_phb.c
$(DEVICE_TABLE_H
) $(HW_PHB_H
) $(COREFILE_H
)
803 hw_register.o
: hw_register.c
$(DEVICE_TABLE_H
) $(PSIM_H
)
804 hw_sem.o
: hw_sem.c
$(DEVICE_TABLE_H
) $(PSIM_H
)
805 hw_shm.o
: hw_shm.c
$(DEVICE_TABLE_H
) $(PSIM_H
)
806 hw_trace.o
: hw_trace.c
$(DEVICE_TABLE_H
)
807 hw_vm.o
: hw_vm.c
$(DEVICE_TABLE_H
) $(CPU_H
)
808 # ignore this line, it stops make from getting confused
814 tmp-pk
: Makefile
$(PACKAGE_SRC
) $(srcdir)/..
/..
/move-if-change
815 # The first for loop is to remove duplicates.
817 for i in
$(PACKAGE_SRC
) ; do \
823 for pk in
$$f ; do echo
$$pk ; done \
824 | sed
-e
's/^.*pk_\(.*\)\.c/\1/' \
825 -e
's/^/extern package_create_instance_callback pk_/' \
826 -e
's/$$/_create_instance;/' \
828 $(SHELL
) $(srcdir)/..
/..
/move-if-change tmp-pk.h pk.h
831 pk_disklabel.o
: pk_disklabel.c
$(DEVICE_TABLE_H
) $(PK_H
)
832 # ignore this line, it stops make from getting confused
839 etags
$(srcdir)/*.h
$(srcdir)/*.c
$(BUILT_SRC
)
842 rm -f tmp-
* *.
[oasi
] core psim
$(EXEEXT
) run
$(EXEEXT
) igen dgen
$(BUILT_SRC_WO_CONFIG
) gentmap
843 rm -f stamp-vals targ-vals.h stamp-map targ-map.c
845 distclean realclean: clean
846 rm -f TAGS Makefile config.cache config.status config.h defines.h stamp-h config.log
848 maintainer-clean
: distclean
849 rm -f
*~
*.log core
*.core
851 Makefile
: Makefile.in config.status
852 CONFIG_FILES
=Makefile CONFIG_HEADERS
= $(SHELL
) .
/config.status
854 config.h
: stamp-h
; @true
855 stamp-h
: config.in config.status
856 CONFIG_FILES
= CONFIG_HEADERS
=config.h
:config.in
$(SHELL
) .
/config.status
858 config.status
: configure
859 $(SHELL
) .
/config.status
--recheck
876 a
=`basename "$$(pwd)"`; \
877 n
=`echo run | sed '$(program_transform_name)'`; \
878 [ "$(SIM_PRIMARY_TARGET)" = "$$a" ] || n
="$$n-$$a"; \
879 $(INSTALL_PROGRAM
) run
$(EXEEXT
) $(DESTDIR
)$(bindir)/$$n$(EXEEXT
)
881 install-strip
: installdirs
882 a
=`basename "$$(pwd)"`; \
883 n
=`echo run | sed '$(program_transform_name)'`; \
884 [ "$(SIM_PRIMARY_TARGET)" = "$$a" ] || n
="$$n-$$a"; \
885 $(INSTALL_PROGRAM
) run
$(EXEEXT
) $(DESTDIR
)$(bindir)/$$n$(EXEEXT
)
886 $(STRIP
) $(DESTDIR
)$(bindir)/$$n$(EXEEXT
)
889 $(SHELL
) $(srcdir)/..
/..
/mkinstalldirs
$(DESTDIR
)$(bindir)