-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathMakefile
109 lines (86 loc) · 3.45 KB
/
Makefile
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
DEFINES = /D_WIN32_WINNT=0x400 /DISOLATION_AWARE_ENABLED /D_WIN32_IE=0x400 /DWIN32_LEAN_AND_MEAN /DWIN32 /D$(D)
CFLAGS = /W3 /nologo -I..\common\win32 /O2 /D_CRT_SECURE_NO_WARNINGS /D_DEBUG /Zi
HEADERS = ..\common\win32\freeze.h ldmicro.h mcutable.h intcode.h
OBJDIR = obj
COMPDIR = components
FREEZE = $(OBJDIR)\freeze.obj
LDOBJS = $(OBJDIR)\ldmicro.obj \
$(OBJDIR)\maincontrols.obj \
$(OBJDIR)\helpdialog.obj \
$(OBJDIR)\schematic.obj \
$(OBJDIR)\draw.obj \
$(OBJDIR)\draw_outputdev.obj \
$(OBJDIR)\circuit.obj \
$(OBJDIR)\undoredo.obj \
$(OBJDIR)\loadsave.obj \
$(OBJDIR)\simulate.obj \
$(OBJDIR)\commentdialog.obj \
$(OBJDIR)\contactsdialog.obj \
$(OBJDIR)\coildialog.obj \
$(OBJDIR)\simpledialog.obj \
$(OBJDIR)\resetdialog.obj \
$(OBJDIR)\lutdialog.obj \
$(OBJDIR)\confdialog.obj \
$(OBJDIR)\iolist.obj \
$(OBJDIR)\miscutil.obj \
$(OBJDIR)\lang.obj \
$(OBJDIR)\intcode.obj \
$(OBJDIR)\compilecommon.obj \
$(OBJDIR)\ansic.obj \
$(OBJDIR)\interpreted.obj \
$(OBJDIR)\pic16.obj \
$(OBJDIR)\avr.obj \
$(OBJDIR)\arduino.obj \
$(OBJDIR)\advanceddialog.obj \
$(OBJDIR)\componentlist.obj \
$(OBJDIR)\componentimages.obj \
$(OBJDIR)\naminglist.obj
COMPOBJS = $(OBJDIR)\components.obj \
$(OBJDIR)\switch.obj \
$(OBJDIR)\relay.obj
HELPOBJ = $(OBJDIR)\helptext.obj
CLEANOBJ = $(OBJDIR)\helptext.cpp \
$(OBJDIR)\helptext.obj \
$(OBJDIR)\lang-tables.h \
$(OBJDIR)\ldmicro.exe \
$(OBJDIR)\ldmicro.obj \
$(OBJDIR)\ldmicro.res \
$(OBJDIR)\freeze.obj \
$(OBJDIR)\ldinterpret.exe \
$(OBJDIR)\ldmicro.ilk \
$(OBJDIR)\ldmicro.pdb \
ldinterpret.exe \
ldinterpret.obj \
ldmicro.exe \
vc100.pdb \
reg\results
LIBS = user32.lib gdi32.lib comctl32.lib advapi32.lib windowscodecs.lib ole32.lib
all: $(OBJDIR)/ldmicro.exe $(OBJDIR)/ldinterpret.exe
@cp $(OBJDIR)/ldmicro.exe .
@cp $(OBJDIR)/ldinterpret.exe .
@cd reg
@go.bat
@cd ..
clean:
rm -rf $(LDOBJS) $(COMPOBJS) $(CLEANOBJ)
rmdir reg\results
lang.cpp: $(OBJDIR)/lang-tables.h
$(OBJDIR)/lang-tables.h: lang*.txt
perl lang-tables.pl > $(OBJDIR)/lang-tables.h
$(OBJDIR)/ldinterpret.exe: ldinterpret.c
@$(CC) -Fe$(OBJDIR)/ldinterpret.exe $(LIBS) ldinterpret.c
$(OBJDIR)/ldmicro.exe: $(LDOBJS) $(COMPOBJS) $(FREEZE) $(HELPOBJ) $(OBJDIR)/ldmicro.res
@$(CC) $(DEFINES) $(CFLAGS) -Fe$(OBJDIR)/ldmicro.exe $(LDOBJS) $(COMPOBJS) $(FREEZE) $(HELPOBJ) $(OBJDIR)/ldmicro.res $(LIBS)
$(OBJDIR)/ldmicro.res: ldmicro.rc ldmicro.ico
@rc ldmicro.rc
@mv ldmicro.res $(OBJDIR)
$(LDOBJS): $(@B).cpp $(HEADERS)
@$(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/$(@B).obj $(@B).cpp
$(COMPOBJS): $(COMPDIR)/$(@B).cpp $(HEADERS)
@$(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/$(@B).obj $(COMPDIR)/$(@B).cpp
$(FREEZE): ..\common\win32\$(@B).cpp $(HEADERS)
@$(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/$(@B).obj ..\common\win32\$(@B).cpp
$(HELPOBJ): $(OBJDIR)/helptext.cpp
@$(CC) $(CFLAGS) $(DEFINES) -c -Fo$(OBJDIR)/helptext.obj $(OBJDIR)/helptext.cpp
$(OBJDIR)/helptext.cpp: manual.txt manual-*.txt
perl txt2c.pl > $(OBJDIR)/helptext.cpp