1# 2# Makefile for Regina REXX Interpreter 3# 4# Using Cygwin to build for SkyOS 5# 6SKYOS_BASE = c:/skyos 7SKYOS_INC = $(SKYOS_BASE)/include 8SKYOS_LIB = $(SKYOS_BASE)/lib 9#LIB_SKYGI = $(SKYOS_LIB)/libskygi.a $(SKYOS_LIB)/librsm.a 10#LIB_LIBNEWC = $(SKYOS_LIB)/libnewc.a 11LIB_LIBM = $(SKYOS_LIB)/libm.a 12#LIB_NET = $(SKYOS_LIB)/libnet.a 13LIB_SKYGI = -lskygi 14LIB_LIBNEWC = -lnewc 15#LIB_LIBM = -lm 16LIB_NET = -lnet -lrsm 17 18SHARED_LIBSKY = $(SKYOS_BASE)/lib/libsky.lib 19SHARED_LIBRSM = $(SKYOS_BASE)/lib/librsm.lib 20SHARED_LIBSKYGI = $(SKYOS_BASE)/lib/libskygi.lib 21SHARED_LIBLINUX = #$(SKYOS_BASE)/lib/liblinux.lib 22SHARED_LIBNET = $(SKYOS_BASE)/lib/libnet.lib 23STATIC_SKYLIBS = #$(SKYOS_BASE)/lib/libm.a 24SHARED_GUILIBS = $(SHARED_LIBSKY) $(SHARED_LIBRSM) $(SHARED_LIBSKYGI) $(SHARED_LIBLINUX) $(SHARED_LIBNET) $(STATIC_SKYLIBS) #div.o 25LIB_CRT0 = $(SKYOS_BASE)/lib/crt0_pe.o 26LD_FLAGS = $(LD_DEBUG_FLAGS) -L $(SKYOS_BASE)/lib $(LIB_CRT0) --subsystem native -e start 27 28CYGWIN = c:/cygwin 29 30 31SHELL = sh 32SRCDIR=$(REGINA_SRCDIR) 33CC = gcc 34LD = ld 35include $(SRCDIR)\regina.ver 36VERDOT = $(VER_DOT) 37VERDATE = $(VER_DATE) 38 39 40ifeq ($(DEBUG),Y) 41OPTIMIZE = -g -DDEBUG 42LDOPT = -g 43LDEXTRA= 44ISODIR = debug 45else 46OPTIMIZE = -O2 -DNDEBUG -g 47LDOPT = -O2 -g 48LDEXTRA=#-strip $@ 49ISODIR = opt 50endif 51 52ifeq ($(TRACEMEM),Y) 53MEMTRACE = -DTRACEMEM 54else 55MEMTRACE = 56endif 57 58ifeq ($(FLISTS),N) 59USEFLISTS = -DNOFLISTS 60else 61USEFLISTS = 62endif 63SKYOS_C_FLAGS = -nostdinc -nostdlib -fno-builtin -funsigned-char -Wall -I$(SKYOS_INC) -I$(SKYOS_INC)/sys -I$(SKYOS_INC)/skyos -DREGINA_SHARE_DIRECTORY=\"/boot/programs/rexx/share\" 64SKYOS_LD_FLAGS = -nostdlib $(LD_FLAGS) -Map $@.map 65 66CEXTRA = -DSKYOS -funsigned-char $(SKYOS_C_FLAGS) -DREGINA_VERSION_DATE=\"$(VER_DATE)\" -DREGINA_VERSION_MAJOR=\"$(VER_MAJOR)\" -DREGINA_VERSION_MINOR=\"$(VER_MINOR)\" -DREGINA_VERSION_SUPP=\"$(VER_SUPP)\" #-DPOSIX_SOURCE 67EEXTRA = $(SKYOS_LD_FLAGS) 68EXTQUEUE_OBJS = extstack.$(OBJ) rexxbif.$(OBJ) 69EXTQUEUE_SHOBJS = extstack.sho rexxbif.sho 70DYN_COMP = -DDYNAMIC #-D_REENTRANT -DPOSIX 71LIBS = $(SHARED_GUILIBS) #$(LIB_SKYGI) $(LIB_CRT0) $(LIB_LIBNEWC) $(LIB_LIBM) $(LIB_NET) 72TCPLIBS = 73SHLDEF = $(REGINA_SRCDIR)/regina_skyos_dll.def 74TEST1DEF = $(REGINA_SRCDIR)/test1_skyos_dll.def 75TEST2DEF = $(REGINA_SRCDIR)/test2_skyos_dll.def 76SHLIBS = 77SHL = dll 78LD_RXLIB1= 79LD_RXLIB2= 80SHL_TARGETS= rxstack.app rxqueue.app regina.app librxtest1.dll librxtest2.dll 81 82SHL_LD = dlltool --machine i386 --output-exp libregina.exp --input-def $(SHLDEF) --dllname libregina.dll --output-lib libregina.lib 83SHL1 = ld $(SHOFILES) -o libregina.dll libregina.exp $(LIBS) --image-base 0x69500000 --entry _DllMain -Map mapfile 84 85TEST1_LD= dlltool --machine i386 --output-exp libtest1.exp --input-def $(TEST1DEF) --dllname librxtest1.dll 86TEST1_SHL1= ld $(LDOPT) test1.sho -o librxtest1.dll libtest1.exp $(LIBS) libregina.lib --image-base 069600000 --entry _DllMain -Map mapfile 87 88TEST2_LD= dlltool --machine i386 --output-exp libtest2.exp --input-def $(TEST2DEF) --dllname librxtest2.dll 89TEST2_SHL1= ld $(LDOPT) test2.sho -o librxtest2.dll libtest2.exp $(LIBS) libregina.lib --image-base 069700000 --entry _DllMain -Map mapfile 90 91LDEXTRA1= 92LIBPRE = lib 93LIBFILE = regina 94OBJECTS = `cat $(SRCDIR)/go32.rsp` 95OSAVE = .sav 96MV= +ren 97# 98SHLFILE = regina 99OBJ = o 100EXE = .app 101LIBPRE = lib 102LIBPST = a 103LIBEXE = ar 104LIBFLAGS = cr $(LIBPRE)$(LIBFILE).$(LIBPST) 105LIBLINK = -L. -l$(LIBFILE) $(LIBS) 106LINKSHL = $(LIBPRE)$(SHLFILE).$(SHL) 107RXLIB = rxlib 108RM = -del 109THREADING = 110MT_FILE = mt_notmt 111 112RANLIB_LIB=-ranlib $(LIBPRE)$(LIBFILE).a 113 114CC2O=-o $@ 115# 116# Include the common rules for the interpreter 117# 118include $(SRCDIR)/makefile.com 119# 120# Make temporary ISO image for testing SkyOS under VirtualPC 121iso: all pkg 122 -mkdir -p ../iso/$(ISODIR) 123 -mkdir -p ../iso/rexx 124 cp *.pkg ../iso/$(ISODIR) 125 cp *.app ../iso/$(ISODIR) 126 cp *.dll ../iso/$(ISODIR) 127 cp *.lib iso 128 cp $(SRCDIR)/rexxsaa.h ../iso 129 cp $(SRCDIR)/demo/*.rexx ../iso/rexx 130 cp $(SRCDIR)/*.mts ../iso/rexx 131 (cd ../iso;zip -r regina.zip *) 132 (cd ../iso;mkisofs -v -r -T -l -L -J -V "Regina for SkyOS" -A "Regina" -o ../regina.iso .) 133 isoinfo -l -i ../regina.iso 134 135pkg: all 136# -mkdir -p programs/rexx/extensions 137 -mkdir -p programs/rexx/demo 138 -mkdir -p programs/rexx/share 139 regina $(SRCDIR)/common/fixrc.rexx $(SRCDIR)/install.sif ./install.sif $(VERDOT) $(VERDATE) 140 strip rexx.app execiser.app rxstack.app rxqueue.app 141 cp rexx.app programs/rexx 142 cp execiser.app programs/rexx 143 cp rxstack.app programs/rexx 144 cp rxqueue.app programs/rexx 145 cp $(SRCDIR)/cyg-$(USER)/*.mtb programs/rexx/share 146 147# strip regina.app libregina.dll librxtest1.dll librxtest2.dll 148# cp regina.app programs/rexx 149# cp libregina.dll programs/rexx 150# cp librxtest1.dll programs/rexx/extensions 151# cp librxtest2.dll programs/rexx/extensions 152# cp $(SRCDIR)/demo/dynfunc.rexx programs/rexx/demo 153 cp $(SRCDIR)/demo/rexxcps.rexx programs/rexx/demo 154 cp $(SRCDIR)/demo/newstr.rexx programs/rexx/demo 155 cp $(SRCDIR)/demo/block.rexx programs/rexx/demo 156 cp $(SRCDIR)/README.SkyOS programs/rexx 157 cp $(SRCDIR)/COPYING-LIB programs/rexx 158 zip -r Regina-REXX-SkyOS-$(VERDOT).pkg install.sif programs 159# 160# End of makefile 161# 162