aboutsummaryrefslogtreecommitdiff
path: root/sim/ppc/Makefile.in
diff options
context:
space:
mode:
authorMichael Meissner <gnu@the-meissners.org>1995-10-31 18:29:37 +0000
committerMichael Meissner <gnu@the-meissners.org>1995-10-31 18:29:37 +0000
commit5b4d72dd7362598e6f9c5483b990d0dee05fce1d (patch)
treeec3cb552f7ad6b1445d1f9619492c64a0a18e457 /sim/ppc/Makefile.in
parent5666490bee263c9357118553e40637449d186988 (diff)
downloadgdb-5b4d72dd7362598e6f9c5483b990d0dee05fce1d.zip
gdb-5b4d72dd7362598e6f9c5483b990d0dee05fce1d.tar.gz
gdb-5b4d72dd7362598e6f9c5483b990d0dee05fce1d.tar.bz2
New changes from Andrew
Diffstat (limited to 'sim/ppc/Makefile.in')
-rw-r--r--sim/ppc/Makefile.in103
1 files changed, 73 insertions, 30 deletions
diff --git a/sim/ppc/Makefile.in b/sim/ppc/Makefile.in
index c5e9ff4..d92ca56 100644
--- a/sim/ppc/Makefile.in
+++ b/sim/ppc/Makefile.in
@@ -80,7 +80,11 @@ INCLUDES = -I. -I$(srcdir) $(LIB_INCLUDES) $(BFD_INCLUDES) $(GDB_INCLUDES)
CONFIG_FILE = std-config.h
# See inline.h for appropriate flags to set
-INLINE_CFLAGS = -DDEFAULT_INLINE=2
+INLINE_CFLAGS = # -g0 -DDEFAULT_INLINE=2
+IGEN_FLAGS = -f 64 # -f 64 -e
+IGEN_OPCODE_RULES = ppc-opcode-simple # ppc-opcode-complex
+DGEN_FLAGS = # # -s
+
LIBIBERTY_LIB = ../../libiberty/libiberty.a
BFD_LIB = ../../bfd/libbfd.a
@@ -128,7 +132,15 @@ CPU_H = \
events.h \
interrupts.h \
psim.h \
- icache.h
+ icache.h \
+ itable.h \
+ mon.h
+
+EMUL_GENERIC_H = \
+ $(CPU_H) \
+ $(IDECODE_H) \
+ emul_generic.h \
+ os_emul.h
INLINE = \
@@ -139,35 +151,43 @@ BUILT_SRC = \
icache.h \
idecode.h idecode.c \
semantics.h semantics.c \
+ itable.h itable.c \
spreg.h spreg.c \
config.h \
- ppc-config.h
+ ppc-config.h
LIB_SRC = \
psim.c \
bits.c \
- ppc-endian.c \
debug.c \
+ ppc-endian.c \
vm.c \
core.c \
events.c \
- system.c \
+ os_emul.c \
+ emul_generic.c \
+ emul_netbsd.c \
registers.c \
cpu.c \
interrupts.c \
devices.c \
- device_tree.c
+ device_tree.c \
+ mon.c
MAIN_SRC = \
main.c \
sim_calls.c
+# NOTE: semantics, idecode and psim put last so smaller files are compiled
+# first
LIB_OBJ = \
debug.o \
bits.o \
ppc-endian.o \
- system.o \
+ os_emul.o \
+ emul_generic.o \
+ emul_netbsd.o \
registers.o \
vm.o \
core.o \
@@ -177,6 +197,8 @@ LIB_OBJ = \
events.o \
devices.o \
device_tree.o \
+ itable.o \
+ mon.o \
semantics.o \
idecode.o \
psim.o
@@ -192,7 +214,7 @@ run: psim
rm -f run
ln psim run
-$(TARGETLIB): tmp-gencode $(LIB_OBJ) $(GDB_OBJ)
+$(TARGETLIB): tmp-igen tmp-dgen $(LIB_OBJ) $(GDB_OBJ)
rm -f $(TARGETLIB)
$(AR) $(AR_FLAGS) $(TARGETLIB) $(LIB_OBJ) $(GDB_OBJ)
$(RANLIB) $(TARGETLIB)
@@ -201,27 +223,29 @@ $(TARGETLIB): tmp-gencode $(LIB_OBJ) $(GDB_OBJ)
# anything changes.
psim.o: psim.c psim.h $(CPU_H) $(IDECODE_H) $(INLINE) $(LIB_SRC)
-bits.o: bits.c bits.h
+bits.o: bits.c $(BASICS_H)
debug.o: debug.c $(BASICS_H)
ppc-endian.o: ppc-endian.c ppc-endian.h \
config.h ppc-config.h words.h sim_callbacks.h
-system.o: system.c system.h $(CPU_H) $(IDECODE_H)
+os_emul.o: os_emul.c $(EMUL_GENERIC_H)
+emul_generic.o: emul_generic.c $(EMUL_GENERIC_H)
+emul_netbsd.o: emul_netbsd.c emul_netbsd.h $(EMUL_GENERIC_H)
registers.o: registers.c $(REGISTERS_H) $(BASICS_H)
cpu.o: cpu.c $(CPU_H) $(IDECODE_H)
-interrupts.o: interrupts.c $(CPU_H) $(IDECODE_H) system.h
+interrupts.o: interrupts.c $(CPU_H) $(IDECODE_H) os_emul.h
idecode.o: idecode.c $(CPU_H) $(IDECODE_H) semantics.h
# double.o: double.c dp-bit.c
vm.o: vm.c vm.h vm_n.h $(BASICS_H) $(REGISTERS_H) \
- device_tree.h core.h interrupts.h
+ device_tree.h core.h interrupts.h itable.h mon.h
core.o: core.c core.h $(BASICS_H) device_tree.h
@@ -240,6 +264,9 @@ device_tree.o: device_tree.c device_tree.h devices.h $(BASICS_H)
semantics.o: semantics.c semantics.h $(CPU_H) $(IDECODE_H)
+itable.o: itable.c itable.h
+
+mon.o: $(CPU_H)
#
# Rules to create the built c source code files
@@ -249,47 +276,63 @@ ppc-config.h: $(CONFIG_FILE)
cp $(srcdir)/$(CONFIG_FILE) ppc-config.h
-tmp-gencode: gen ppc-instructions ppc-spr-table $(srcdir)/../../move-if-change
- ./gen -r $(srcdir)/ppc-spr-table \
- -i $(srcdir)/ppc-instructions \
+tmp-dgen: dgen ppc-spr-table $(srcdir)/../../move-if-change
+ ./dgen $(DGEN_FLAGS) \
+ -r $(srcdir)/ppc-spr-table \
-n spreg.h -P tmp-spreg.h \
- -n spreg.c -p tmp-spreg.c \
+ -n spreg.c -p tmp-spreg.c
+ $(srcdir)/../../move-if-change tmp-spreg.h spreg.h
+ $(srcdir)/../../move-if-change tmp-spreg.c spreg.c
+ touch tmp-dgen
+
+
+tmp-igen: igen ppc-instructions $(IGEN_OPCODE_RULES) ppc-cache-rules $(srcdir)/../../move-if-change
+ ./igen $(IGEN_FLAGS) \
+ -o $(srcdir)/$(IGEN_OPCODE_RULES) \
+ -k $(srcdir)/ppc-cache-rules \
+ -i $(srcdir)/ppc-instructions \
-n icache.h -C tmp-icache.h \
-n semantics.h -S tmp-semantics.h \
-n semantics.c -s tmp-semantics.c \
-n idecode.h -D tmp-idecode.h \
- -n idecode.c -d tmp-idecode.c
+ -n idecode.c -d tmp-idecode.c \
+ -n itable.h -T tmp-itable.h \
+ -n itable.c -t tmp-itable.c
$(srcdir)/../../move-if-change tmp-icache.h icache.h
$(srcdir)/../../move-if-change tmp-idecode.h idecode.h
$(srcdir)/../../move-if-change tmp-idecode.c idecode.c
$(srcdir)/../../move-if-change tmp-semantics.h semantics.h
$(srcdir)/../../move-if-change tmp-semantics.c semantics.c
- $(srcdir)/../../move-if-change tmp-spreg.h spreg.h
- $(srcdir)/../../move-if-change tmp-spreg.c spreg.c
- touch tmp-gencode
+ $(srcdir)/../../move-if-change tmp-itable.h itable.h
+ $(srcdir)/../../move-if-change tmp-itable.c itable.c
+ touch tmp-igen
# NOTE: Some versions of make don't handle files created as side-effects
# uncomment the below if that is the case.
#
-# $(TARGETLIB): tmp-gencode
-# icache.h idecode.h idecode.c semantics.h semantics.c spreg.h spreg.c: tmp-gencode
+# $(TARGETLIB): tmp-igen tmp-dgen
+# itable.h itable.c icache.h idecode.h idecode.c semantics.h semantics.c: tmp-igen
+# spreg.h spreg.c: tmp-dgen
-gen.o: gen.c config.h ppc-config.h
- $(CC_FOR_BUILD) -c $(CFLAGS) $(INLINE_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(srcdir)/gen.c
+dgen: dgen.o table.o lf.o misc.o
+ $(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o dgen dgen.o table.o lf.o misc.o $(LIBIBERTY_LIB) $(LIBS)
-gen: gen.o config.h ppc-config.h $(LIBIBERTY_LIB) $(LIBS)
- $(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o gen gen.o $(LIBIBERTY_LIB) $(LIBS)
+igen: igen.o table.o lf.o misc.o
+ $(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o igen igen.o table.o lf.o misc.o $(LIBIBERTY_LIB) $(LIBS)
-#
+table.o: misc.h lf.h table.h
+lf.o: misc.h lf.h
+dgen.o igen.o: misc.h lf.h table.h
+misc.o: misc.h
+# With out this #, make thinks that misc.o doesn't have a rule
tags etags: TAGS
-TAGS: tmp-gencode config.h ppc-config.h
+TAGS: tmp-igen tmp-dgen config.h ppc-config.h
etags $(srcdir)/*.h $(srcdir)/*.c $(BUILT_SRC)
clean mostlyclean:
- rm -f tmp-* *.[ioas] *.out core psim run gen config.log
- rm -f icache.h idecode.h idecode.c semantics.h semantics.c spreg.h spreg.c ppc-config.h
+ rm -f tmp-* *.[oas] core psim run igen dgen config.log
distclean maintainer-clean realclean: clean
rm -f TAGS $(BUILT_SRC) Makefile config.cache config.status config.h stamp-h