Re: various MAKE tools for VMS - VMS

This is a discussion on Re: various MAKE tools for VMS - VMS ; From: Pierre > > Define "unix syntax". > > mainly, items in dependence list using space instead of comma as > separator, backslash instead of dash as a continuation char. You mean like this? [.$(DEST)]ZIPCLOAK.EXE : [.$(DEST)]ZIPCLOAK.OBJ \ $(LIB_ZIPUTILS) \ ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: Re: various MAKE tools for VMS

  1. Re: various MAKE tools for VMS

    From: Pierre

    > > Define "unix syntax".

    >
    > mainly, items in dependence list using space instead of comma as
    > separator, backslash instead of dash as a continuation char.


    You mean like this?

    [.$(DEST)]ZIPCLOAK.EXE : [.$(DEST)]ZIPCLOAK.OBJ \
    $(LIB_ZIPUTILS) \
    $(OPT_ID) $(OPT_FILE)
    $(LINK) $(LINKFLAGS) $(MMS$SOURCE), -
    $(LIB_ZIPUTILS) /include = (GLOBALS) /library, -
    $(LFLAGS_ARCH) -
    $(OPT_ID) /options

    (I tend to use "\" in the dependencies, and "-" in the (DCL) action
    lines, but I may be eccentric.) You may be trying to solve problems
    which do not exist in MMS/MMK.

    ------------------------------------------------------------------------

    Steven M. Schweda sms@antinode-org
    382 South Warwick Street (+1) 651-699-9818
    Saint Paul MN 55105-2547

  2. Re: various MAKE tools for VMS

    > You mean like this?
    >
    > [.$(DEST)]ZIPCLOAK.EXE : [.$(DEST)]ZIPCLOAK.OBJ \
    > $(LIB_ZIPUTILS) \
    > $(OPT_ID) $(OPT_FILE)
    > $(LINK) $(LINKFLAGS) $(MMS$SOURCE), -
    > $(LIB_ZIPUTILS) /include = (GLOBALS) /library, -
    > $(LFLAGS_ARCH) -
    > $(OPT_ID) /options
    >
    > (I tend to use "\" in the dependencies, and "-" in the (DCL) action
    > lines, but I may be eccentric.) You may be trying to solve problems
    > which do not exist in MMS/MMK.


    I mean like this:

    --

    # makefile for building Lua
    # see ../INSTALL for installation instructions
    # see ../Makefile and luaconf.h for further customization

    # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT
    =======================

    # Your platform. See PLATS for possible values.
    PLAT= none

    CC= gcc
    CFLAGS= -O2 -Wall $(MYCFLAGS)
    AR= ar rcu
    RANLIB= ranlib
    RM= rm -f
    LIBS= -lm $(MYLIBS)

    MYCFLAGS=
    MYLDFLAGS=
    MYLIBS=

    # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE
    =========

    PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris

    LUA_A= liblua.a
    CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o
    lmem.o \
    lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \
    lundump.o lvm.o lzio.o
    LIB_O= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o
    ltablib.o \
    lstrlib.o loadlib.o linit.o

    LUA_T= lua
    LUA_O= lua.o

    LUAC_T= luac
    LUAC_O= luac.o print.o

    ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
    ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
    ALL_A= $(LUA_A)

    default: $(PLAT)

    all: $(ALL_T)

    o: $(ALL_O)

    a: $(ALL_A)

    $(LUA_A): $(CORE_O) $(LIB_O)
    $(AR) $@ $?
    $(RANLIB) $@

    $(LUA_T): $(LUA_O) $(LUA_A)
    $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)

    $(LUAC_T): $(LUAC_O) $(LUA_A)
    $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)

    clean:
    $(RM) $(ALL_T) $(ALL_O)

    depend:
    @$(CC) $(CFLAGS) -MM l*.c print.c

    echo:
    @echo "PLAT = $(PLAT)"
    @echo "CC = $(CC)"
    @echo "CFLAGS = $(CFLAGS)"
    @echo "AR = $(AR)"
    @echo "RANLIB = $(RANLIB)"
    @echo "RM = $(RM)"
    @echo "MYCFLAGS = $(MYCFLAGS)"
    @echo "MYLDFLAGS = $(MYLDFLAGS)"
    @echo "MYLIBS = $(MYLIBS)"

    # convenience targets for popular platforms

    none:
    @echo "Please choose a platform:"
    @echo " $(PLATS)"

    aix:
    $(MAKE) all CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN"
    MYLIBS="-ldl" MYLDFLAGS="-brtl -bexpall"

    ansi:
    $(MAKE) all MYCFLAGS=-DLUA_ANSI

    bsd:
    $(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-Wl,-
    E"

    freebsd:
    $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX" MYLIBS="-Wl,-E -lreadline"

    generic:
    $(MAKE) all MYCFLAGS=

    linux:
    $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -
    lhistory -lncurses"

    macosx:
    $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline"
    # use this on Mac OS X 10.3-
    # $(MAKE) all MYCFLAGS=-DLUA_USE_MACOSX

    mingw:
    $(MAKE) "LUA_A=lua51.dll" "LUA_T=lua.exe" \
    "AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \
    "MYCFLAGS=-DLUA_BUILD_AS_DLL" "MYLIBS=" "MYLDFLAGS=-s" lua.exe
    $(MAKE) "LUAC_T=luac.exe" luac.exe

    posix:
    $(MAKE) all MYCFLAGS=-DLUA_USE_POSIX

    solaris:
    $(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl"

    # list targets that do not create files (but not all makes
    understand .PHONY)
    ..PHONY: all $(PLATS) default o a clean depend echo none

    # DO NOT DELETE

    lapi.o: lapi.c lua.h luaconf.h lapi.h lobject.h llimits.h ldebug.h \
    lstate.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h
    \
    lundump.h lvm.h
    lauxlib.o: lauxlib.c lua.h luaconf.h lauxlib.h
    lbaselib.o: lbaselib.c lua.h luaconf.h lauxlib.h lualib.h
    lcode.o: lcode.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \
    lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h
    lgc.h \
    ltable.h
    ldblib.o: ldblib.c lua.h luaconf.h lauxlib.h lualib.h
    ldebug.o: ldebug.c lua.h luaconf.h lapi.h lobject.h llimits.h lcode.h
    \
    llex.h lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h
    ldo.h \
    lfunc.h lstring.h lgc.h ltable.h lvm.h
    ldo.o: ldo.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h
    ltm.h \
    lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lparser.h lstring.h \
    ltable.h lundump.h lvm.h
    ldump.o: ldump.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h \
    lzio.h lmem.h lundump.h
    lfunc.o: lfunc.c lua.h luaconf.h lfunc.h lobject.h llimits.h lgc.h
    lmem.h \
    lstate.h ltm.h lzio.h
    lgc.o: lgc.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h
    ltm.h \
    lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h
    linit.o: linit.c lua.h luaconf.h lualib.h lauxlib.h
    liolib.o: liolib.c lua.h luaconf.h lauxlib.h lualib.h
    llex.o: llex.c lua.h luaconf.h ldo.h lobject.h llimits.h lstate.h
    ltm.h \
    lzio.h lmem.h llex.h lparser.h lstring.h lgc.h ltable.h
    lmathlib.o: lmathlib.c lua.h luaconf.h lauxlib.h lualib.h
    lmem.o: lmem.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \
    ltm.h lzio.h lmem.h ldo.h
    loadlib.o: loadlib.c lua.h luaconf.h lauxlib.h lualib.h
    lobject.o: lobject.c lua.h luaconf.h ldo.h lobject.h llimits.h
    lstate.h \
    ltm.h lzio.h lmem.h lstring.h lgc.h lvm.h
    lopcodes.o: lopcodes.c lopcodes.h llimits.h lua.h luaconf.h
    loslib.o: loslib.c lua.h luaconf.h lauxlib.h lualib.h
    lparser.o: lparser.c lua.h luaconf.h lcode.h llex.h lobject.h
    llimits.h \
    lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h \
    lfunc.h lstring.h lgc.h ltable.h
    lstate.o: lstate.c lua.h luaconf.h ldebug.h lstate.h lobject.h
    llimits.h \
    ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h llex.h lstring.h ltable.h
    lstring.o: lstring.c lua.h luaconf.h lmem.h llimits.h lobject.h
    lstate.h \
    ltm.h lzio.h lstring.h lgc.h
    lstrlib.o: lstrlib.c lua.h luaconf.h lauxlib.h lualib.h
    ltable.o: ltable.c lua.h luaconf.h ldebug.h lstate.h lobject.h
    llimits.h \
    ltm.h lzio.h lmem.h ldo.h lgc.h ltable.h
    ltablib.o: ltablib.c lua.h luaconf.h lauxlib.h lualib.h
    ltm.o: ltm.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h lzio.h
    \
    lmem.h lstring.h lgc.h ltable.h
    lua.o: lua.c lua.h luaconf.h lauxlib.h lualib.h
    luac.o: luac.c lua.h luaconf.h lauxlib.h ldo.h lobject.h llimits.h \
    lstate.h ltm.h lzio.h lmem.h lfunc.h lopcodes.h lstring.h lgc.h \
    lundump.h
    lundump.o: lundump.c lua.h luaconf.h ldebug.h lstate.h lobject.h \
    llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lstring.h lgc.h
    lundump.h
    lvm.o: lvm.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h
    ltm.h \
    lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h ltable.h
    lvm.h
    lzio.o: lzio.c lua.h luaconf.h llimits.h lmem.h lstate.h lobject.h
    ltm.h \
    lzio.h
    print.o: print.c ldebug.h lstate.h lua.h luaconf.h lobject.h llimits.h
    \
    ltm.h lzio.h lmem.h lopcodes.h lundump.h

    # (end of Makefile)

  3. Re: various MAKE tools for VMS

    Pierre wrote:
    > I mean like this:
    >
    > --
    >
    > # makefile for building Lua
    > # see ../INSTALL for installation instructions
    > # see ../Makefile and luaconf.h for further customization
    >
    > # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT
    > =======================
    >
    > # Your platform. See PLATS for possible values.
    > PLAT= none
    >
    > CC= gcc
    > CFLAGS= -O2 -Wall $(MYCFLAGS)
    > AR= ar rcu
    > RANLIB= ranlib
    > RM= rm -f
    > LIBS= -lm $(MYLIBS)
    >
    > MYCFLAGS=
    > MYLDFLAGS=
    > MYLIBS=
    >
    > # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE
    > =========
    >
    > PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris


    I would try a port of GNU Make.

    Arne

  4. Re: various MAKE tools for VMS

    Arne Vajh°j wrote:
    > Pierre wrote:
    >> I mean like this:
    >>
    >> --
    >>
    >> # makefile for building Lua
    >> # see ../INSTALL for installation instructions
    >> # see ../Makefile and luaconf.h for further customization
    >>
    >> # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT
    >> =======================
    >>
    >> # Your platform. See PLATS for possible values.
    >> PLAT= none
    >>

    >
    >> PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris

    >
    > I would try a port of GNU Make.


    GNU make is in the GNV kits for Alpha and I64.

    See the updates at ftp.encompasserve.org/gnv. Some of them are still
    needed for 2.1.

    Unix like make scripts may not run properly under DCL as they may expect
    a UNIX shell and tool kit to also be present.

    One of the updates to GNV at ftp.encompasserve.org/gnv is a Bash that
    does not have the pipe size limitations. Other GNV tools need the same
    fix, but I have not had the time to do it.

    -John
    wb8tyw@qsl.net
    Personal Opinion Only


+ Reply to Thread