ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/Unix/Makefile.in
Revision: 1.8
Committed: 2003-12-04T17:26:37Z (20 years, 11 months ago) by gbeauche
Branch: MAIN
Changes since 1.7: +1 -1 lines
Log Message:
Add new thunking system for 64-bit fixes.

File Contents

# User Rev Content
1 cebix 1.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 gbeauche 1.7 CPUSRCS = @CPUSRCS@
24     DYNGENSRCS = @DYNGENSRCS@
25     DYNGEN_OP_FLAGS = @DYNGEN_OP_FLAGS@
26 cebix 1.1 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 gbeauche 1.4 Linux/scsi_linux.cpp ../video.cpp video_blit.cpp video_x.cpp \
36 gbeauche 1.8 ../audio.cpp audio_oss_esd.cpp ../ether.cpp ../thunks.cpp \
37 cebix 1.1 Linux/ether_linux.cpp ../serial.cpp serial_unix.cpp ../extfs.cpp extfs_unix.cpp \
38 gbeauche 1.2 about_window_unix.cpp ../user_strings.cpp user_strings_unix.cpp \
39 gbeauche 1.3 vm_alloc.cpp sigsegv.cpp \
40 gbeauche 1.7 sshpty.c strlcpy.c $(SYSSRCS) $(CPUSRCS)
41 cebix 1.1 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 gbeauche 1.7 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 cebix 1.1 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 gbeauche 1.5 rm -f $(APP) $(OBJ_DIR)/* core* *.core *~ *.bak ppc-execute-impl.cpp
89 gbeauche 1.7 rm -f dyngen basic-dyngen-ops.hpp ppc-dyngen-ops.hpp
90 cebix 1.1
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 gbeauche 1.5
108     # Kheperix CPU emulator
109     GENEXEC = ../kpx_cpu/src/cpu/ppc/genexec.pl
110    
111 gbeauche 1.6 $(OBJ_DIR)/ppc-execute.o: ppc-execute-impl.cpp
112 gbeauche 1.5 ppc-execute-impl.cpp: ../kpx_cpu/src/cpu/ppc/ppc-decode.cpp $(GENEXEC)
113 gbeauche 1.6 $(CPP) $(CPPFLAGS) -DGENEXEC $< | $(GENEXEC) > $@
114 gbeauche 1.7
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 cebix 1.1
130     #-------------------------------------------------------------------------
131     # DO NOT DELETE THIS LINE -- make depend depends on it.