ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/Unix/Makefile.in
Revision: 1.11
Committed: 2004-05-09T17:55:11Z (20 years, 6 months ago) by gbeauche
Branch: MAIN
Changes since 1.10: +12 -5 lines
Log Message:
Link keycodes & tunconfig files, DESTDIR'ify Unix/Makefile

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