ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/Unix/Makefile.in
Revision: 1.9
Committed: 2004-01-18T22:12:24Z (20 years, 4 months ago) by gbeauche
Branch: MAIN
Changes since 1.8: +4 -3 lines
Log Message:
Handle dummy files. Merge in configure stuff for Mach exception filters.
Check whether struct sigaction defines sa_restorer member. Don't include
posix_sem.cpp on native Linux/ppc builds.

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 BLESS = @BLESS@
27 INSTALL = @INSTALL@
28 INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s
29 INSTALL_DATA = @INSTALL_DATA@
30
31 ## Files
32 SRCS = main_unix.cpp ../prefs.cpp ../prefs_items.cpp prefs_unix.cpp sys_unix.cpp \
33 ../rom_patches.cpp ../rsrc_patches.cpp ../emul_op.cpp ../name_registry.cpp \
34 ../macos_util.cpp ../timer.cpp timer_unix.cpp ../xpram.cpp xpram_unix.cpp \
35 ../adb.cpp clip_unix.cpp ../sony.cpp ../disk.cpp ../cdrom.cpp ../scsi.cpp \
36 ../video.cpp video_blit.cpp video_x.cpp ../audio.cpp ../ether.cpp ../thunks.cpp \
37 ../serial.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 $(BLESS) $(APP)
73
74 modules:
75 cd NetDriver; make
76
77 install: $(APP) installdirs
78 $(INSTALL_PROGRAM) $(APP) $(bindir)/$(APP)
79 -$(INSTALL_DATA) $(APP).1 $(man1dir)/$(APP).1
80
81 installdirs:
82 $(SHELL) mkinstalldirs $(bindir) $(man1dir)
83
84 uninstall:
85 rm -f $(bindir)/$(APP)
86 rm -f $(man1dir)/$(APP).1
87
88 clean:
89 rm -f $(APP) $(OBJ_DIR)/* core* *.core *~ *.bak ppc-execute-impl.cpp
90 rm -f dyngen basic-dyngen-ops.hpp ppc-dyngen-ops.hpp
91
92 distclean: clean
93 rm -rf $(OBJ_DIR)
94 rm -f Makefile
95 rm -f config.cache config.log config.status config.h
96
97 depend dep:
98 makedepend $(CPPFLAGS) -Y. $(SRCS) 2>/dev/null
99
100 $(OBJ_DIR)/%.o : %.c
101 $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c $< -o $@
102 $(OBJ_DIR)/%.o : %.cpp
103 $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c $< -o $@
104 $(OBJ_DIR)/%.o : %.S
105 $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ $< -o $*.s
106 $(AS) $(ASFLAGS) -o $@ $*.s
107 rm $*.s
108
109 # Kheperix CPU emulator
110 GENEXEC = ../kpx_cpu/src/cpu/ppc/genexec.pl
111
112 $(OBJ_DIR)/ppc-execute.o: ppc-execute-impl.cpp
113 ppc-execute-impl.cpp: ../kpx_cpu/src/cpu/ppc/ppc-decode.cpp $(GENEXEC)
114 $(CPP) $(CPPFLAGS) -DGENEXEC $< | $(GENEXEC) > $@
115
116 dyngen: $(DYNGENOBJS)
117 $(CXX) -o $@ $(LDFLAGS) $(DYNGENOBJS)
118
119 $(OBJ_DIR)/basic-dyngen.o: basic-dyngen-ops.hpp
120 $(OBJ_DIR)/basic-dyngen-ops.o: ../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp
121 $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DYNGEN_OP_FLAGS) -c $< -o $@
122 basic-dyngen-ops.hpp: $(OBJ_DIR)/basic-dyngen-ops.o dyngen
123 ./dyngen -o $@ $<
124
125 $(OBJ_DIR)/ppc-dyngen.o: ppc-dyngen-ops.hpp
126 $(OBJ_DIR)/ppc-dyngen-ops.o: ../kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp
127 $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DYNGEN_OP_FLAGS) -c $< -o $@
128 ppc-dyngen-ops.hpp: $(OBJ_DIR)/ppc-dyngen-ops.o dyngen
129 ./dyngen -o $@ $<
130
131 #-------------------------------------------------------------------------
132 # DO NOT DELETE THIS LINE -- make depend depends on it.