-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile.in
132 lines (106 loc) · 3.63 KB
/
Makefile.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
CC = @CC@
RC = windres
DEFS = @DEFS@
LIBS = @LIBS@
TARGET_BASE_NAME = atari800
TARGET = $(TARGET_BASE_NAME)@EXEEXT@
CONFIGURE_TARGET = @CONFIGURE_TARGET@
ifeq (@EXEEXT@,.mips)
FINALTARGET = $(TARGET_BASE_NAME).jar
JAVAFLAGS = @JAVAFLAGS@
JAVA = java
JAVACFLAGS = @JAVACFLAGS@
JAVAC = javac
else
FINALTARGET = $(TARGET)
endif
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s
INSTALL_DATA = @INSTALL_DATA@
BIN_DIR = @prefix@/bin
MAN_DIR = @prefix@/share/man/man1
DOC_DIR = @prefix@/share/doc/atari800
DESTDIR =
OBJS = \
afile.o \
antic.o \
atari.o \
binload.o \
cartridge.o \
cassette.o \
compfile.o \
cfg.o \
cpu.o \
devices.o \
esc.o \
gtia.o \
log.o \
memory.o \
monitor.o \
pbi.o \
pia.o \
pokey.o \
rtime.o \
sio.o \
util.o \
@OBJS@
all: $(FINALTARGET)
# A special rule for SDL_win32_main.c to suppress warnings since this file is
# from SDL and should not have to be modified
SDL_win32_main.o: SDL_win32_main.c
$(CC) -c -o $@ $(DEFS) -I. $(CFLAGS) -Wno-missing-declarations -Wno-missing-prototypes $<
# A special rule for win32 to not compile with -ansi -pedantic
win32/%.o: win32/%.c
$(CC) -c -o $@ $(DEFS) -I. $($(CFLAGS:-ansi= ):-pedantic= ) $<
%.o: %.c
$(CC) -c -o $@ $(DEFS) -I. $(CFLAGS) $<
%.ro: %.rc
$(RC) --define WIN32 --define __MINGW32__ --include-dir . $< $@
%.o: %.cpp
$(CC) -c -o $@ $(DEFS) -I. $(CFLAGS) $<
%.o: %.S
$(CC) -c -o $@ $(DEFS) -I. $(CFLAGS) $<
ifeq ($(CONFIGURE_TARGET),javanvm)
$(TARGET_BASE_NAME).class: javanvm/$(TARGET_BASE_NAME).java | $(TARGET_BASE_NAME)_runtime.class
$(JAVAC) -d . $(JAVACFLAGS) javanvm/$(TARGET_BASE_NAME).java
RUNTIME = _runtime
else
RUNTIME =
endif
$(TARGET_BASE_NAME)$(RUNTIME).class: $(TARGET)
#To compile using java bytecode directly:
# $(JAVA) $(JAVAFLAGS) org.ibex.nestedvm.Compiler -o UnixRuntime -outfile $@ $(TARGET_BASE_NAME)$(RUNTIME) $(TARGET)
$(JAVA) $(JAVAFLAGS) org.ibex.nestedvm.Compiler -o UnixRuntime -outformat javasource -outfile $(TARGET_BASE_NAME)$(RUNTIME).java $(TARGET_BASE_NAME)$(RUNTIME) $(TARGET)
$(JAVAC) -d . $(JAVACFLAGS) -J-Xmx128m $(TARGET_BASE_NAME)$(RUNTIME).java
##Also, -o UnixRuntime fixes directory browsing but requires /c:/-style paths
$(TARGET_BASE_NAME).jar: $(TARGET_BASE_NAME).class $(TARGET_BASE_NAME)$(RUNTIME).class
echo -e "Manifest-Version: 1.0\nMain-Class: $(TARGET_BASE_NAME)\nClass-Path: unix_runtime.jar\n" > .manifest
jar cfm $(TARGET_BASE_NAME).jar .manifest *.class
$(TARGET): $(OBJS)
$(CC) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
dep:
@if ! makedepend -Y $(DEFS) -I. ${OBJS:.o=.c} 2>/dev/null; \
then echo warning: makedepend failed; fi
clean:
rm -f *.o dos/*.o falcon/*.o win32/*.o win32/*.ro javanvm/*.o *.class .manifest $(TARGET) $(TARGET_BASE_NAME).jar $(TARGET_BASE_NAME)_runtime.java core *.bak *~
distclean: clean
-rm -f Makefile configure config.log config.status config.h
-rm -rf autom4te.cache
install: $(TARGET) installdirs
$(INSTALL_PROGRAM) $(TARGET) ${DESTDIR}${BIN_DIR}/$(TARGET)
$(INSTALL_DATA) atari800.man ${DESTDIR}${MAN_DIR}/atari800.1
# install also the documentation
$(INSTALL_DATA) ../COPYING ${DESTDIR}${DOC_DIR}/COPYING
$(INSTALL_DATA) ../README.1ST ${DESTDIR}${DOC_DIR}/README.1ST
$(INSTALL_DATA) ../DOC/README ${DESTDIR}${DOC_DIR}/README
$(INSTALL_DATA) ../DOC/INSTALL ${DESTDIR}${DOC_DIR}/INSTALL
$(INSTALL_DATA) ../DOC/USAGE ${DESTDIR}${DOC_DIR}/USAGE
$(INSTALL_DATA) ../DOC/NEWS ${DESTDIR}${DOC_DIR}/NEWS
readme.html: $(TARGET)
./$(TARGET) -help </dev/null | ../util/usage2html.pl \
../DOC/readme.html.in ../DOC/USAGE ./atari.h > $@
doc: readme.html
installdirs:
mkdir -p $(DESTDIR)$(BIN_DIR) $(DESTDIR)$(MAN_DIR) $(DESTDIR)$(DOC_DIR)