ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/Unix/Makefile.in
Revision: 1.7
Committed: 2003-11-24T23:39:35Z (20 years, 6 months ago) by gbeauche
Branch: MAIN
Changes since 1.6: +26 -1 lines
Log Message:
Handle "JIT1" engine but disable it for now since there are some problems
with SheepShaver integration from Kheperix.

File Contents

# Content
1 # Linux makefile for SheepShaver
2
3 ## System specific configuration
4 @SET_MAKE@
5 SHELL = /bin/sh
6
7 prefix = @prefix@
8 exec_prefix = @exec_prefix@
9 bindir = @bindir@
10 datadir = @datadir@
11 mandir = @mandir@
12 man1dir = $(mandir)/man1
13
14 CC = @CC@
15 CXX = @CXX@
16 CFLAGS = @CFLAGS@
17 CXXFLAGS = @CXXFLAGS@
18 CPPFLAGS = @CPPFLAGS@ -I../include -I.
19 DEFS = @DEFS@ -D_REENTRANT -DDATADIR=\"$(datadir)/$(APP)\"
20 LDFLAGS = @LDFLAGS@
21 LIBS = @LIBS@
22 SYSSRCS = @SYSSRCS@
23 CPUSRCS = @CPUSRCS@
24 DYNGENSRCS = @DYNGENSRCS@
25 DYNGEN_OP_FLAGS = @DYNGEN_OP_FLAGS@
26 INSTALL = @INSTALL@
27 INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s
28 INSTALL_DATA = @INSTALL_DATA@
29
30 ## Files
31 SRCS = main_unix.cpp ../prefs.cpp ../prefs_items.cpp prefs_unix.cpp sys_unix.cpp \
32 ../rom_patches.cpp ../rsrc_patches.cpp ../emul_op.cpp ../name_registry.cpp \
33 ../macos_util.cpp ../timer.cpp timer_unix.cpp ../xpram.cpp xpram_unix.cpp \
34 ../adb.cpp clip_unix.cpp ../sony.cpp ../disk.cpp ../cdrom.cpp ../scsi.cpp \
35 Linux/scsi_linux.cpp ../video.cpp video_blit.cpp video_x.cpp \
36 ../audio.cpp audio_oss_esd.cpp ../ether.cpp \
37 Linux/ether_linux.cpp ../serial.cpp serial_unix.cpp ../extfs.cpp extfs_unix.cpp \
38 about_window_unix.cpp ../user_strings.cpp user_strings_unix.cpp \
39 vm_alloc.cpp sigsegv.cpp \
40 sshpty.c strlcpy.c $(SYSSRCS) $(CPUSRCS)
41 APP = SheepShaver
42
43 ## Rules
44 .PHONY: modules install uninstall clean distclean depend dep
45 .SUFFIXES:
46 .SUFFIXES: .c .cpp .S .o .h
47
48 all: $(APP)
49
50 OBJ_DIR = obj
51 $(OBJ_DIR)::
52 @[ -d $(OBJ_DIR) ] || mkdir $(OBJ_DIR) > /dev/null 2>&1
53
54 define SRCS_LIST_TO_OBJS
55 $(addprefix $(OBJ_DIR)/, $(addsuffix .o, $(foreach file, $(SRCS), \
56 $(basename $(notdir $(file))))))
57 endef
58 OBJS = $(SRCS_LIST_TO_OBJS)
59
60 define DYNGENSRCS_LIST_TO_OBJS
61 $(addprefix $(OBJ_DIR)/, $(addsuffix .o, $(foreach file, $(DYNGENSRCS), \
62 $(basename $(notdir $(file))))))
63 endef
64 DYNGENOBJS = $(DYNGENSRCS_LIST_TO_OBJS)
65
66 SRC_PATHS += $(sort $(foreach file, $(SRCS), $(dir $(file))))
67 VPATH :=
68 VPATH += $(addprefix :, $(subst ,:, $(filter-out $($(subst, :, ,$(VPATH))), $(SRC_PATHS))))
69
70 $(APP): $(OBJ_DIR) $(OBJS)
71 $(CXX) -o $(APP) $(LDFLAGS) $(OBJS) $(LIBS)
72
73 modules:
74 cd NetDriver; make
75
76 install: $(APP) installdirs
77 $(INSTALL_PROGRAM) $(APP) $(bindir)/$(APP)
78 -$(INSTALL_DATA) $(APP).1 $(man1dir)/$(APP).1
79
80 installdirs:
81 $(SHELL) mkinstalldirs $(bindir) $(man1dir)
82
83 uninstall:
84 rm -f $(bindir)/$(APP)
85 rm -f $(man1dir)/$(APP).1
86
87 clean:
88 rm -f $(APP) $(OBJ_DIR)/* core* *.core *~ *.bak ppc-execute-impl.cpp
89 rm -f dyngen basic-dyngen-ops.hpp ppc-dyngen-ops.hpp
90
91 distclean: clean
92 rm -rf $(OBJ_DIR)
93 rm -f Makefile
94 rm -f config.cache config.log config.status config.h
95
96 depend dep:
97 makedepend $(CPPFLAGS) -Y. $(SRCS) 2>/dev/null
98
99 $(OBJ_DIR)/%.o : %.c
100 $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c $< -o $@
101 $(OBJ_DIR)/%.o : %.cpp
102 $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c $< -o $@
103 $(OBJ_DIR)/%.o : %.S
104 $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ $< -o $*.s
105 $(AS) $(ASFLAGS) -o $@ $*.s
106 rm $*.s
107
108 # Kheperix CPU emulator
109 GENEXEC = ../kpx_cpu/src/cpu/ppc/genexec.pl
110
111 $(OBJ_DIR)/ppc-execute.o: ppc-execute-impl.cpp
112 ppc-execute-impl.cpp: ../kpx_cpu/src/cpu/ppc/ppc-decode.cpp $(GENEXEC)
113 $(CPP) $(CPPFLAGS) -DGENEXEC $< | $(GENEXEC) > $@
114
115 dyngen: $(DYNGENOBJS)
116 $(CXX) -o $@ $(LDFLAGS) $(DYNGENOBJS)
117
118 $(OBJ_DIR)/basic-dyngen.o: basic-dyngen-ops.hpp
119 $(OBJ_DIR)/basic-dyngen-ops.o: ../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp
120 $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DYNGEN_OP_FLAGS) -c $< -o $@
121 basic-dyngen-ops.hpp: $(OBJ_DIR)/basic-dyngen-ops.o dyngen
122 ./dyngen -o $@ $<
123
124 $(OBJ_DIR)/ppc-dyngen.o: ppc-dyngen-ops.hpp
125 $(OBJ_DIR)/ppc-dyngen-ops.o: ../kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp
126 $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DYNGEN_OP_FLAGS) -c $< -o $@
127 ppc-dyngen-ops.hpp: $(OBJ_DIR)/ppc-dyngen-ops.o dyngen
128 ./dyngen -o $@ $<
129
130 #-------------------------------------------------------------------------
131 # DO NOT DELETE THIS LINE -- make depend depends on it.