Details | Last modification | View Log
| Rev | Author | Line No. | Line | 
|---|---|---|---|
| 125 | lvd | 1 | # Makefile for sjasmplus created by Tygrys' hands.  | 
        
| 2 | # install/uninstall features added, CFLAGS and LDFLAGS modification by z00m's hands. [05.05.2016]  | 
        ||
| 3 | # overall optimization and beautification by mborik's hands. [05.05.2016]  | 
        ||
| 4 | # Mac OS X adaptation by z00m's hands. [16.05.2018]  | 
        ||
| 5 | # For build on Mac OS X run `make -f Makefile.osx`  | 
        ||
| 6 | |||
| 7 | GCC=gcc  | 
        ||
| 8 | CC=$(GCC)  | 
        ||
| 9 | GPP=g++  | 
        ||
| 10 | C++=$(GPP)  | 
        ||
| 11 | |||
| 12 | PREFIX=/opt/local  | 
        ||
| 13 | INSTALL=install -c  | 
        ||
| 14 | UNINSTALL=rm -vf  | 
        ||
| 15 | DOCBOOKGEN=xsltproc  | 
        ||
| 16 | |||
| 17 | EXE=sjasmplus  | 
        ||
| 18 | |||
| 19 | SUBDIR_BASE=sjasm  | 
        ||
| 20 | SUBDIR_LUA=lua5.1  | 
        ||
| 21 | SUBDIR_TOLUA=tolua++  | 
        ||
| 22 | |||
| 23 | CFLAGS=-DNDEBUG -O2 -Wall -pedantic -DUSE_LUA -DLUA_USE_MACOSX -DMAX_PATH=PATH_MAX -I$(SUBDIR_LUA) -I$(SUBDIR_TOLUA)  | 
        ||
| 24 | CXXFLAGS=-std=gnu++14 $(CFLAGS)  | 
        ||
| 25 | |||
| 26 | # for Mac (removed strip flag)  | 
        ||
| 27 | LDFLAGS=-ldl  | 
        ||
| 28 | |||
| 29 | #sjasmplus object files  | 
        ||
| 30 | OBJS=\  | 
        ||
| 31 | $(SUBDIR_BASE)/devices.o \  | 
        ||
| 32 | $(SUBDIR_BASE)/directives.o \  | 
        ||
| 33 | $(SUBDIR_BASE)/io_nex.o \  | 
        ||
| 34 | $(SUBDIR_BASE)/io_snapshots.o \  | 
        ||
| 35 | $(SUBDIR_BASE)/io_trd.o \  | 
        ||
| 36 | $(SUBDIR_BASE)/io_tape.o \  | 
        ||
| 37 | $(SUBDIR_BASE)/lua_lpack.o \  | 
        ||
| 38 | $(SUBDIR_BASE)/lua_sjasm.o \  | 
        ||
| 39 | $(SUBDIR_BASE)/parser.o \  | 
        ||
| 40 | $(SUBDIR_BASE)/reader.o \  | 
        ||
| 41 | $(SUBDIR_BASE)/sjasm.o \  | 
        ||
| 42 | $(SUBDIR_BASE)/sjio.o \  | 
        ||
| 43 | $(SUBDIR_BASE)/support.o \  | 
        ||
| 44 | $(SUBDIR_BASE)/tables.o \  | 
        ||
| 45 | $(SUBDIR_BASE)/z80.o  | 
        ||
| 46 | |||
| 47 | #liblua objects  | 
        ||
| 48 | LUAOBJS= \  | 
        ||
| 49 | $(SUBDIR_LUA)/lapi.o $(SUBDIR_LUA)/lauxlib.o $(SUBDIR_LUA)/lbaselib.o \  | 
        ||
| 50 | $(SUBDIR_LUA)/lcode.o $(SUBDIR_LUA)/ldblib.o $(SUBDIR_LUA)/ldebug.o \  | 
        ||
| 51 | $(SUBDIR_LUA)/ldo.o $(SUBDIR_LUA)/ldump.o $(SUBDIR_LUA)/lfunc.o \  | 
        ||
| 52 | $(SUBDIR_LUA)/lgc.o $(SUBDIR_LUA)/linit.o $(SUBDIR_LUA)/liolib.o \  | 
        ||
| 53 | $(SUBDIR_LUA)/llex.o $(SUBDIR_LUA)/lmathlib.o $(SUBDIR_LUA)/lmem.o \  | 
        ||
| 54 | $(SUBDIR_LUA)/loadlib.o $(SUBDIR_LUA)/lobject.o $(SUBDIR_LUA)/lopcodes.o \  | 
        ||
| 55 | $(SUBDIR_LUA)/loslib.o $(SUBDIR_LUA)/lparser.o $(SUBDIR_LUA)/lstate.o \  | 
        ||
| 56 | $(SUBDIR_LUA)/lstring.o $(SUBDIR_LUA)/lstrlib.o $(SUBDIR_LUA)/ltable.o \  | 
        ||
| 57 | $(SUBDIR_LUA)/ltablib.o $(SUBDIR_LUA)/ltm.o $(SUBDIR_LUA)/lundump.o \  | 
        ||
| 58 | $(SUBDIR_LUA)/lvm.o $(SUBDIR_LUA)/lzio.o  | 
        ||
| 59 | |||
| 60 | # tolua objects  | 
        ||
| 61 | TOLUAOBJS=\  | 
        ||
| 62 | $(SUBDIR_TOLUA)/tolua_event.o \  | 
        ||
| 63 | $(SUBDIR_TOLUA)/tolua_is.o \  | 
        ||
| 64 | $(SUBDIR_TOLUA)/tolua_map.o \  | 
        ||
| 65 | $(SUBDIR_TOLUA)/tolua_push.o \  | 
        ||
| 66 | $(SUBDIR_TOLUA)/tolua_to.o  | 
        ||
| 67 | |||
| 68 | |||
| 69 | .PHONY: all clean docs  | 
        ||
| 70 | |||
| 71 | all: $(LUAOBJS) $(TOLUAOBJS) $(OBJS)  | 
        ||
| 72 | $(GPP) -o $(EXE) $(CXXFLAGS) $(OBJS) $(LUAOBJS) $(TOLUAOBJS) $(LDFLAGS)  | 
        ||
| 73 | |||
| 74 | install:  | 
        ||
| 75 | $(INSTALL) $(EXE) $(PREFIX)/bin  | 
        ||
| 76 | |||
| 77 | uninstall:  | 
        ||
| 78 | $(UNINSTALL) $(PREFIX)/bin/$(EXE)  | 
        ||
| 79 | |||
| 80 | .c.o:  | 
        ||
| 81 | $(GCC) $(CFLAGS) -o $@ -c $<  | 
        ||
| 82 | |||
| 83 | .cpp.o:  | 
        ||
| 84 | $(GPP) $(CXXFLAGS) -o $@ -c $<  | 
        ||
| 85 | |||
| 86 | docs:  | 
        ||
| 87 | $(DOCBOOKGEN) \  | 
        ||
| 88 | --stringparam generate.toc "book toc" \  | 
        ||
| 89 | -o docs/documentation.html \  | 
        ||
| 90 | docs/docbook-xsl-ns-html-customization-osx.xsl \  | 
        ||
| 91 | docs/documentation.xml  | 
        ||
| 92 | |||
| 93 | clean:  | 
        ||
| 94 | $(UNINSTALL) \  | 
        ||
| 95 | $(SUBDIR_BASE)/*.o \  | 
        ||
| 96 | $(SUBDIR_LUA)/*.o \  | 
        ||
| 97 | $(SUBDIR_TOLUA)/*.o \  | 
        ||
| 98 | $(EXE) *~  |