Subversion Repositories NedoOS

Rev

Details | Last modification | View Log

Rev Author Line No. Line
125 lvd 1
# Makefile for MinGW by mborik & z00m
2
# Change `PREFIX` according your needs
3
# Run it with `make -f Makefile.win`
4
 
5
GCC=gcc.exe
6
CC=$(GCC)
7
GPP=g++.exe
8
C++=$(GPP)
9
 
10
PREFIX=c:/mingw/usr/local/bin/
11
CREATEDIR=mkdir -p
12
INSTALL=cp
13
UNINSTALL=rm -f
14
WINDRES=windres.exe --preprocessor "cpp.exe"
15
COMPRESS=upx.exe --best -vk --overlay=skip --compress-icons=0 
16
 
17
EXE=sjasmplus.exe
18
 
19
SUBDIR_BASE=sjasm
20
SUBDIR_LUA=lua5.1
21
SUBDIR_TOLUA=tolua++
22
 
23
CFLAGS=-DNDEBUG -O2 -Wall -pedantic -static -DUSE_LUA -DLUA_USE_WINDOWS -DMAX_PATH=PATH_MAX -I$(SUBDIR_LUA) -I$(SUBDIR_TOLUA)
24
CXXFLAGS=-std=gnu++14 $(CFLAGS)
25
 
26
LDFLAGS= -s
27
 
28
#sjasmplus object files
29
OBJS=\
30
	$(SUBDIR_BASE)/devices.o \
31
	$(SUBDIR_BASE)/directives.o \
32
	$(SUBDIR_BASE)/io_nex.o \
33
	$(SUBDIR_BASE)/io_snapshots.o \
34
	$(SUBDIR_BASE)/io_trd.o \
35
	$(SUBDIR_BASE)/io_tape.o \
36
	$(SUBDIR_BASE)/lua_lpack.o \
37
	$(SUBDIR_BASE)/lua_sjasm.o \
38
	$(SUBDIR_BASE)/parser.o \
39
	$(SUBDIR_BASE)/reader.o \
40
	$(SUBDIR_BASE)/sjasm.o \
41
	$(SUBDIR_BASE)/sjio.o \
42
	$(SUBDIR_BASE)/support.o \
43
	$(SUBDIR_BASE)/tables.o \
44
	$(SUBDIR_BASE)/z80.o
45
 
46
#liblua objects
47
LUAOBJS= \
48
	$(SUBDIR_LUA)/lapi.o $(SUBDIR_LUA)/lauxlib.o $(SUBDIR_LUA)/lbaselib.o \
49
	$(SUBDIR_LUA)/lcode.o $(SUBDIR_LUA)/ldblib.o $(SUBDIR_LUA)/ldebug.o \
50
	$(SUBDIR_LUA)/ldo.o $(SUBDIR_LUA)/ldump.o $(SUBDIR_LUA)/lfunc.o \
51
	$(SUBDIR_LUA)/lgc.o $(SUBDIR_LUA)/linit.o $(SUBDIR_LUA)/liolib.o \
52
	$(SUBDIR_LUA)/llex.o $(SUBDIR_LUA)/lmathlib.o $(SUBDIR_LUA)/lmem.o \
53
	$(SUBDIR_LUA)/loadlib.o $(SUBDIR_LUA)/lobject.o $(SUBDIR_LUA)/lopcodes.o \
54
	$(SUBDIR_LUA)/loslib.o $(SUBDIR_LUA)/lparser.o $(SUBDIR_LUA)/lstate.o \
55
	$(SUBDIR_LUA)/lstring.o $(SUBDIR_LUA)/lstrlib.o $(SUBDIR_LUA)/ltable.o \
56
	$(SUBDIR_LUA)/ltablib.o $(SUBDIR_LUA)/ltm.o $(SUBDIR_LUA)/lundump.o \
57
	$(SUBDIR_LUA)/lvm.o $(SUBDIR_LUA)/lzio.o
58
 
59
# tolua objects
60
TOLUAOBJS=\
61
	$(SUBDIR_TOLUA)/tolua_event.o \
62
	$(SUBDIR_TOLUA)/tolua_is.o \
63
	$(SUBDIR_TOLUA)/tolua_map.o \
64
	$(SUBDIR_TOLUA)/tolua_push.o \
65
	$(SUBDIR_TOLUA)/tolua_to.o
66
 
67
RES=sjasmwin32/sjasmplus.res
68
 
69
 
70
.PHONY: all clean
71
 
72
all: $(LUAOBJS) $(TOLUAOBJS) $(OBJS) $(RES)
73
	$(GPP) -o $(EXE) $(CXXFLAGS) $(OBJS) $(LUAOBJS) $(TOLUAOBJS) $(LDFLAGS) $(RES)
74
 
75
install:
76
	$(CREATEDIR) $(PREFIX)
77
	$(INSTALL) $(EXE) $(PREFIX)
78
 
79
uninstall:
80
	$(UNINSTALL) $(PREFIX)/$(EXE)
81
 
82
compress:
83
	$(COMPRESS) $(EXE)	
84
 
85
.c.o:
86
	$(GCC) $(CFLAGS) -o $@ -c $<
87
 
88
.cpp.o:
89
	$(GPP) $(CXXFLAGS) -o $@ -c $<
90
 
91
$(RES): sjasmwin32/sjasmplus.mingw.rc
92
	$(WINDRES) -i $< -O coff -o $@
93
 
94
clean:
95
	$(UNINSTALL) \
96
		$(SUBDIR_BASE)/*.o \
97
		$(SUBDIR_LUA)/*.o \
98
		$(SUBDIR_TOLUA)/*.o \
99
		$(RES) $(EXE) *~