1 |
# Makefile for Frodo (WIN32 DirectX with MSVC++) |
2 |
|
3 |
## Version information |
4 |
VERSION = 4 |
5 |
REVISION = 2 |
6 |
|
7 |
# Choose static (L) or dynamic (D) version of C library |
8 |
LIBC = L |
9 |
#LIBC = D |
10 |
|
11 |
# Choose debug or optimized build |
12 |
#CFLAGS = -W2 -Zi -DDEBUG -D_DEBUG -M$(LIBC)d |
13 |
CFLAGS = -Ox2 -G5 -Gi- -FAsc -M$(LIBC) |
14 |
|
15 |
CXX = cl |
16 |
RC = rc |
17 |
ALLCFLAGS = -I. -DWIN32 -DSTRICT -D__i386 $(CFLAGS) |
18 |
ALLSCCFLAGS = -DFRODO_SC -DBATCH_CIA_CYCLES $(ALLCFLAGS) |
19 |
#ALLSCCFLAGS = -DFRODO_SC $(ALLCFLAGS) |
20 |
ALLPCCFLAGS = -DPRECISE_CPU_CYCLES=1 -DPRECISE_CIA_CYCLES=1 -DPC_IS_POINTER=0 $(ALLCFLAGS) |
21 |
LDFLAGS = $(ALLCFLAGS) |
22 |
LIBRARIES = user32.lib kernel32.lib gdi32.lib ddraw.lib dsound.lib winmm.lib comctl32.lib comdlg32.lib shell32.lib |
23 |
#PROFILE = /link /profile |
24 |
|
25 |
## Files |
26 |
OBJS = main.obj Display.obj Prefs.obj SID.obj REU.obj IEC.obj 1541fs.obj \ |
27 |
1541d64.obj 1541t64.obj 1541job.obj SAM.obj ndir.obj Frodo.res |
28 |
SLOBJS = $(OBJS) C64.obj CPUC64.obj VIC.obj CIA.obj CPU1541.obj |
29 |
SCOBJS = $(OBJS) C64_SC.obj CPUC64_SC.obj VIC_SC.obj CIA_SC.obj CPU1541_SC.obj CPU_common.obj |
30 |
PCOBJS = $(OBJS) C64_PC.obj CPUC64_PC.obj VIC.obj CIA.obj CPU1541_PC.obj |
31 |
|
32 |
Frodo: Frodo.exe |
33 |
|
34 |
Frodo.exe: $(SLOBJS) |
35 |
$(CXX) -FeFrodo.exe $(SLOBJS) $(LDFLAGS) $(LIBRARIES) |
36 |
copy Frodo.exe .. |
37 |
|
38 |
FrodoSC: FrodoSC.exe |
39 |
|
40 |
FrodoSC.exe: $(SCOBJS) |
41 |
$(CXX) -FeFrodoSC.exe $(SCOBJS) $(LDFLAGS) $(LIBRARIES) $(PROFILE) |
42 |
copy FrodoSC.exe .. |
43 |
|
44 |
FrodoPC: FrodoPC.exe |
45 |
|
46 |
FrodoPC.exe: $(PCOBJS) |
47 |
$(CXX) -FeFrodoPC.exe $(PCOBJS) $(LDFLAGS) $(LIBRARIES) |
48 |
copy FrodoPC.exe .. |
49 |
|
50 |
Frodo.res: Frodo.rc Frodo.ico |
51 |
$(RC) Frodo.rc |
52 |
|
53 |
all: Frodo FrodoSC FrodoPC |
54 |
|
55 |
clean: |
56 |
rm -f $(SLOBJS) $(SCOBJS) $(PCOBJS) |
57 |
rm -f Frodo.exe FrodoSC.exe FrodoPC.exe |
58 |
rm -f *.ilk *.pdb *.cod *.nms *.res *.aps |
59 |
|
60 |
.cpp.obj: |
61 |
$(CXX) $(ALLCFLAGS) -o $@ -c $*.cpp |
62 |
|
63 |
.c.obj: |
64 |
$(CXX) $(ALLCFLAGS) -o $@ -c $*.c |
65 |
|
66 |
C64_SC.obj: C64.cpp C64.h C64_WIN32.h CmdPipe.h CPUC64.h CPU1541.h VIC.h SID.h CIA.h REU.h IEC.h 1541job.h Display.h Prefs.h |
67 |
$(CXX) $(ALLSCCFLAGS) -Fo$@ -c $*.cpp |
68 |
|
69 |
CPUC64_SC.obj: CPUC64_SC.cpp CPUC64.h CPU_emulcycle.h CPU_common.h C64.h VIC.h SID.h CIA.h REU.h IEC.h Display.h Version.h |
70 |
$(CXX) $(ALLSCCFLAGS) -Fo$@ -c $*.cpp |
71 |
|
72 |
CPU1541_SC.obj: CPU1541_SC.cpp CPU1541.h CPU_emulcycle.h CPU_common.h 1541job.h C64.h CIA.h Display.h |
73 |
$(CXX) $(ALLSCCFLAGS) -Fo$@ -c $*.cpp |
74 |
|
75 |
VIC_SC.obj: VIC_SC.cpp VIC.h C64.h CPUC64.h Display.h Prefs.h |
76 |
$(CXX) $(ALLSCCFLAGS) -Fo$@ -c $*.cpp |
77 |
|
78 |
CIA_SC.obj: CIA_SC.cpp CIA.h CPUC64.h CPU1541.h VIC.h Prefs.h |
79 |
$(CXX) $(ALLSCCFLAGS) -Fo$@ -c $*.cpp |
80 |
|
81 |
C64_PC.obj: C64.cpp C64.h C64_WIN32.h CmdPipe.h CPUC64.h CPU1541.h VIC.h SID.h CIA.h REU.h IEC.h 1541job.h Display.h Prefs.h |
82 |
$(CXX) $(ALLPCCFLAGS) -Fo$@ -c $*.cpp |
83 |
|
84 |
CPUC64_PC.obj: CPUC64.cpp CPUC64.h CPU_emulline.h CPU_common.h C64.h VIC.h SID.h CIA.h REU.h IEC.h Display.h Version.h |
85 |
$(CXX) $(ALLPCCFLAGS) -DPC_IS_POINTER=0 -Fo$@ -c $*.cpp |
86 |
|
87 |
CPU1541_PC.obj: CPU1541_PC.cpp CPU1541.h CPU_emulline.h CPU_common.h 1541job.h C64.h CIA.h Display.h |
88 |
$(CXX) $(ALLPCCFLAGS) -Fo$@ -c $*.cpp |
89 |
|
90 |
## Dependencies |
91 |
main.obj: main.cpp main.h main_WIN32.h C64.h Display.h Prefs.h SAM.h |
92 |
C64.obj: C64.cpp C64.h C64_WIN32.h CmdPipe.h CPUC64.h CPU1541.h VIC.h SID.h CIA.h REU.h IEC.h 1541job.h Display.h Prefs.h |
93 |
CmdPipe.obj: CmdPipe.h |
94 |
Display.obj: Display.cpp Display.h Display_WIN32.h main.h Prefs.h Version.h resource.h |
95 |
Prefs.obj: Prefs.cpp Prefs.h Prefs_WIN32.h Display.h main.h resource.h |
96 |
CPUC64.obj: CPUC64.cpp CPUC64.h CPU_emulline.h C64.h VIC.h SID.h CIA.h REU.h IEC.h Display.h Version.h |
97 |
CPU1541.obj: CPU1541.cpp CPU1541.h CPU_emulline.h 1541job.h C64.h CIA.h Display.h |
98 |
CPU_common.obj: CPU_common.cpp CPU_common.h |
99 |
VIC.obj: VIC.cpp VIC.h C64.h CPUC64.h Display.h Prefs.h |
100 |
SID.obj: SID.cpp SID.h SID_WIN32.h Prefs.h main.h |
101 |
CIA.obj: CIA.cpp CIA.h CPUC64.h CPU1541.h VIC.h Prefs.h |
102 |
IEC.obj: IEC.cpp IEC.h 1541fs.h 1541d64.h 1541t64.h Prefs.h Display.h |
103 |
1541fs.obj: 1541fs.cpp 1541fs.h IEC.h main.h Prefs.h |
104 |
1541fs.h: IEC.h |
105 |
1541d64.obj: 1541d64.cpp 1541d64.h IEC.h Prefs.h |
106 |
1541d64.h: IEC.h |
107 |
1541t64.obj: 1541t64.cpp 1541t64.h IEC.h Prefs.h |
108 |
1541t64.h: IEC.h |
109 |
1541job.obj: 1541job.cpp 1541job.h CPU1541.h Prefs.h |
110 |
REU.obj: REU.cpp REU.h CPUC64.h Prefs.h |
111 |
SAM.obj: SAM.cpp SAM.h C64.h CPUC64.h CPU1541.h VIC.h SID.h CIA.h |