1+ # This file is part of wmake but should not be run directly.
2+ # It depends on other makefiles to setup variables for the target first
3+ # and stores only common tasks amongst all platform build processes.
4+
5+ objs = $(OBJDIR)$(SEP)lapi.obj $(OBJDIR)$(SEP)lctype.obj &
6+ $(OBJDIR)$(SEP)lfunc.obj $(OBJDIR)$(SEP)lmathlib.obj &
7+ $(OBJDIR)$(SEP)loslib.obj $(OBJDIR)$(SEP)ltable.obj &
8+ $(OBJDIR)$(SEP)lundump.obj $(OBJDIR)$(SEP)lauxlib.obj &
9+ $(OBJDIR)$(SEP)ldblib.obj $(OBJDIR)$(SEP)lgc.obj &
10+ $(OBJDIR)$(SEP)lmem.obj $(OBJDIR)$(SEP)lparser.obj &
11+ $(OBJDIR)$(SEP)ltablib.obj $(OBJDIR)$(SEP)lutf8lib.obj &
12+ $(OBJDIR)$(SEP)lbaselib.obj $(OBJDIR)$(SEP)ldebug.obj &
13+ $(OBJDIR)$(SEP)linit.obj $(OBJDIR)$(SEP)loadlib.obj &
14+ $(OBJDIR)$(SEP)lstate.obj $(OBJDIR)$(SEP)ltm.obj &
15+ $(OBJDIR)$(SEP)lvm.obj $(OBJDIR)$(SEP)lcode.obj &
16+ $(OBJDIR)$(SEP)ldo.obj $(OBJDIR)$(SEP)liolib.obj &
17+ $(OBJDIR)$(SEP)lobject.obj $(OBJDIR)$(SEP)lstring.obj &
18+ $(OBJDIR)$(SEP)lzio.obj $(OBJDIR)$(SEP)lcorolib.obj &
19+ $(OBJDIR)$(SEP)ldump.obj $(OBJDIR)$(SEP)llex.obj &
20+ $(OBJDIR)$(SEP)lopcodes.obj $(OBJDIR)$(SEP)lstrlib.obj
21+
22+ lua_obj = $(OBJDIR)$(SEP)lua.obj
23+ luac_obj = $(OBJDIR)$(SEP)luac.obj
24+
25+ !ifdef __UNIX__
26+ SEP = /
27+ !else
28+ SEP = \
29+ !endif
30+
31+ BINDIR = dist$(SEP)bin
32+ OBJDIR = obj$(SEP)$(PLATFORM)
33+ SRCDIR = lua
34+
35+ $(BINDIR)$(SEP)lua$(PLATFORM).exe: $(OBJDIR) $(BINDIR) $(objs) $(lua_obj)
36+ *wlink NAME $@ $(LFLAGS) FILE {$(objs) $(lua_obj)}
37+
38+ $(BINDIR)$(SEP)luac$(PLATFORM).exe: $(BINDIR) $(OBJDIR) $(objs) $(luac_obj)
39+ *wlink NAME $@ $(LFLAGS) FILE {$(objs) $(luac_obj)}
40+
41+ {$(SRCDIR)}.c{$(OBJDIR)}.obj:
42+ $(CC) $(CFLAGS) -fo=$@ $<
43+
44+ clean: .SYMBOLIC
45+ !ifdef __UNIX__
46+ @!if [ -e $(OBJDIR) ]; then rm -R $(OBJDIR); fi
47+ @!if [ -e $(BINDIR)lua$(PLATFORM).exe ]; then rm $(BINDIR)lua$(PLATFORM).exe; fi
48+ @!if [ -e $(BINDIR)luac$(PLATFORM).exe ]; then rm $(BINDIR)luac$(PLATFORM).exe; fi
49+ !elif __NT__
50+ @!if exist $(OBJDIR) rd /S /Q $(OBJDIR)
51+ @!if exist $(BINDIR)$(SEP)lua$(PLATFORM).exe del $(BINDIR)$(SEP)lua$(PLATFORM).exe
52+ @!if exist $(BINDIR)$(SEP)luac$(PLATFORM).exe del $(BINDIR)$(SEP)luac$(PLATFORM).exe
53+ !else # Assuming DOS 5.0
54+ @!if exist $(BINDIR)$(SEP)lua$(PLATFORM).exe del $(BINDIR)$(SEP)lua$(PLATFORM).exe
55+ @!if exist $(BINDIR)$(SEP)luac$(PLATFORM).exe del $(BINDIR)$(SEP)luac$(PLATFORM).exe
56+ @!if exist $(OBJDIR)$(SEP)*.* echo Clean compiler objects manually with `DEL $(OBJDIR)$(SEP)*.*` and `RD $(OBJDIR)`
57+ !endif
58+
59+ dist:
60+ mkdir dist
61+
62+ obj:
63+ mkdir obj
64+
65+ $(BINDIR): dist
66+ mkdir $(BINDIR)
67+
68+ $(OBJDIR): obj
69+ mkdir $(OBJDIR)
0 commit comments