• The MakeNl makefile for Amiga -- yes, it still exists!

    From Björn Felten@2:203/2 to All on Fri Jul 27 01:25:02 2018
    Just out of curiosity:

    1. Why is not the Amiga version of MakeNl supported any more? I guess the answer to that is that all those @amiganet nodes does not care about any Makenl?

    2. Just the same, Johan Billing and I spent a lot of time, ten years ago, making our common MakeNl project compile on an Amiga using SAS. But the makefile for it is no longer present among all the other makefiles.

    So, can "all" of you running an FTN node on an Amiga please tell me if Johan
    and I spent all that effort in vain, or are there really any proper Amiga systems out there?

    If you're interested, I can take it upon me to maintain the Amiga version of
    MakeNl. If not, why don't you simply close down your precious @amiganet? ;)

    --- Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.9.1.16) Gecko/20101125
    * Origin: news://felten.yi.org (2:203/2)
  • From andrew clarke@3:633/267 to Björn Felten on Fri Jul 27 01:25:02 2018
    30 Nov 14 01:26, you wrote to all:

    Just out of curiosity:

    1. Why is not the Amiga version of MakeNl supported any more? I
    guess the answer to that is that all those @amiganet nodes does not
    care about any Makenl?

    I don't have an Amiga emulator set up so I have no way of testing that version.
    The others I can test.

    I suspect either makefile.linux or makefile.bsd will work for the Amiga version
    if GNU C is available for that platform.

    CMake may also be an option if that's available for the Amiga (and actually works).

    2. Just the same, Johan Billing and I spent a lot of time, ten
    years ago, making our common MakeNl project compile on an Amiga using
    SAS. But the makefile for it is no longer present among all the other makefiles.

    So, can "all" of you running an FTN node on an Amiga please tell me
    if Johan and I spent all that effort in vain, or are there really any proper Amiga systems out there?

    Makefiles can be rewritten easily. :) Most of the effort is in the source code itself, and I doubt any of your improvements were removed. At first glance I don't see any Amiga-specific code in there though.

    --- GoldED+/BSD 1.1.5-b20130910
    * Origin: Blizzard of Ozz, Melbourne, Victoria, Australia (3:633/267)
  • From Björn Felten@2:203/2 to andrew clarke on Fri Jul 27 01:25:02 2018
    At first glance I don't see any Amiga-specific code in there though.

    I have this in osamiga.h:

    #include <sys/types.h>
    #include <stdlib.h>
    #include <sys/dir.h>

    #define STR_DIRSEPARATOR "/"
    #define UNREFERENCED(x) x=x;

    #define MYMAXFILE 64
    #define MYMAXDIR 1024
    #define MYMAXPATH 1088
    #define MYMAXEXT 12
    #define MYMAXDRIVE 3

    #define filecmp strcmp
    #define strcasecmp stricmp
    #define filenodir(x) (strchr(x,'/') == NULL)

    /* Needed definitions */
    #define OSFND "osamifnd.c"
    #define OSFUL "osamiful.c"

    /* Overrides over defaults */

    #undef OSDSL
    #define OSDSL "osamidsl.c"
    #undef OSRMS
    #define OSRMS "osamirms.c"

    struct _filefind
    {
    char path[MYMAXDIR];
    char mask[MYMAXFILE];
    DIR *dirp;
    struct dirent *pentry;
    int flags;
    };

    /*
    TODO

    a separate osamiful.c rather than the one for linux ?
    what is #define MYMAXxxx ?
    does wildcards work in findnext()?
    what does filenodir() do? might have to be changed. e.g. fido:nodelist is a proper path on the amiga.
    does this influence other parts?

    */

    --- Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.9.1.16) Gecko/20101125
    * Origin: news://felten.yi.org (2:203/2)
  • From andrew clarke@3:633/267 to Björn Felten on Fri Jul 27 01:25:02 2018
    30 Nov 14 11:38, you wrote to me:

    At first glance I don't see any Amiga-specific code in there
    though.

    I have this in osamiga.h:

    Ah I remember now. The osxxx.h/osxxx.c stuff became unmaintainable and was all merged into two files - os.h & os.c - but the Amiga code got left out because I
    had no way to build/test it.

    Earlier this evening I had a bit of a play with the UAE Amiga emulator and had a crash course in how to use AmigaShell. I've only used a real Amiga a couple of times 20+ years ago.

    I managed to get Aztec C running in the emulator but couldn't find anywhere to download SASC let alone install it.

    Anyway, this section needs to be put into os.h:

    #include <sys/types.h>
    #include <stdlib.h>
    #include <sys/dir.h>

    #define STR_DIRSEPARATOR "/"
    #define UNREFERENCED(x) x=x;

    #define MYMAXFILE 64
    #define MYMAXDIR 1024
    #define MYMAXPATH 1088
    #define MYMAXEXT 12
    #define MYMAXDRIVE 3

    #define filecmp strcmp
    #define strcasecmp stricmp
    #define filenodir(x) (strchr(x,'/') == NULL)

    And the contents of the osami*.c files appended to os.c:

    /* Needed definitions */
    #define OSFND "osamifnd.c"
    #define OSFUL "osamiful.c"

    /* Overrides over defaults */

    #undef OSDSL
    #define OSDSL "osamidsl.c"
    #undef OSRMS
    #define OSRMS "osamirms.c"

    ... with the correct #ifdef compiler/platform guards.

    I don't know what SASC uses as a compiler #define. __SASC__ maybe?

    You'll also need to #define CC_NAME and OS_NAME in the right places.

    --- GoldED+/BSD 1.1.5-b20130910
    * Origin: Blizzard of Ozz, Melbourne, Victoria, Australia (3:633/267)
  • From Björn Felten@2:203/2 to andrew clarke on Fri Jul 27 01:25:02 2018
    I don't know what SASC uses as a compiler #define. __SASC__ maybe?

    # amiga makefile for makenl
    # SAS/C 6.58

    # generate release version: smake
    # delete temporary files: smake clean

    default: makenl

    CC = sc
    CFLAGS =

    OBJ=config.o crc16.o fileutil.o fts5.o lsttool.o makenl.o merge.o \
    mkdiff.o msgtool.o output.o process.o stack.o strtool.o upcont.o \
    os.o

    ..c.o:
    $(CC) $(CFLAGS) $*

    config.o : config.c

    crc16.o : crc16.c

    fileutil.o : fileutil.c

    fts5.o : fts5.c

    lsttool.o : lsttool.c

    makenl.o : makenl.c

    merge.o : merge.c

    mkdiff.o : mkdiff.c

    msgtool.o : msgtool.c

    output.o : output.c

    process.o : process.c

    stack.o : stack.c

    strtool.o : strtool.c

    upcont.o : upcont.c

    os.o : os.c

    makenl: $(OBJ)
    $(CC) link to makenl $(OBJ)

    clean:
    -delete *.o
    -delete makenl makenl.info makenl.lnk

    --- Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.9.1.16) Gecko/20101125
    * Origin: news://felten.yi.org (2:203/2)
  • From Wilfred van Velzen@2:280/464 to Björn Felten on Fri Jul 27 01:25:02 2018
    * Originally in MAKENL_NG
    * Crossposted in SOFT_AMY

    Hi,

    On 2014-11-30 01:26:57, Bj”rn Felten wrote to All:
    about: "The MakeNl makefile for Amiga -- yes, it still exists!":

    1. Why is not the Amiga version of MakeNl supported any more? I guess
    the answer to that is that all those @amiganet nodes does not care
    about any Makenl?

    I care about makenl. But I'm using the linux version to generate the AmigaNet nodelist.

    2. Just the same, Johan Billing and I spent a lot of time, ten years
    ago, making our common MakeNl project compile on an Amiga using SAS.

    I was not aware of that. At that time I was using nlmake on windows to generate
    the list.

    But the makefile for it is no longer present among all the other makefiles.

    So, can "all" of you running an FTN node on an Amiga please tell me if Johan and I spent all that effort in vain, or are there really any
    proper Amiga systems out there?

    There are a few nodes that run on an Amiga (afaik). I'm not aware of any of them using makenl to generate segments. They are very small segments so they are easally maintained with a text editor.

    If you're interested, I can take it upon me to maintain the Amiga
    version of MakeNl.

    I'll forward it to AmigaNet, but I don't think there will be much interest.

    If not, why don't you simply close down your precious @amiganet? ;)

    Because we are not using MakeNL on the Amiga, we should close down AmigaNet? Strange suggestion! ;)

    Bye, Wilfred.


    --- FMail-W32-1.69.1.95-B20140716
    * Origin: Native IPv6 connectable node (2:280/464)
  • From Björn Felten@2:203/2 to Wilfred van Velzen on Fri Jul 27 01:25:02 2018
    I'll forward it to AmigaNet, but I don't think there will be much
    interest.

    I thought so. If you've managed all those years without makenl, you'll probably do fine for several more years. Anyway, it's doable -- if for nothing else it could be a fun exercise for you?

    If not, why don't you simply close down your precious @amiganet? ;)

    Because we are not using MakeNL on the Amiga, we should close down AmigaNet? Strange suggestion! ;)

    Not only strange, but really stupid as well. I apologize!

    --- Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.9.1.16) Gecko/20101125
    * Origin: news://felten.yi.org (2:203/2)
  • From Benny Pedersen@2:230/0 to Bj÷rn Felten on Fri Jul 27 01:25:02 2018
    Hello Björn!

    30 Nov 2014 01:26, Björn Felten wrote to All:

    Just out of curiosity:

    +1

    1. Why is not the Amiga version of MakeNl supported any more?

    based on what ?

    I guess the answer to that is that all those @amiganet nodes does not care about any Makenl?

    join amiganet ?

    2. Just the same, Johan Billing and I spent a lot of time, ten
    years ago, making our common MakeNl project compile on an Amiga using SAS. But the makefile for it is no longer present among all the other makefiles.

    i have both lattice c, and sas 6.50 with patches here, its just for me a matter
    of setup all this again since all my amiga died 20 years ago :(

    but if i remember makefiles should not be created non local, eg if you get c codes from friends sas/lattice should create smakefile/makefile, just like its done on linux :)

    So, can "all" of you running an FTN node on an Amiga please tell me
    if Johan and I spent all that effort in vain, or are there really any proper Amiga systems out there?

    no you both does not do the job in vain, not at all, i thanks go to crashmail/crashtick it supported ums, that is still missing in linux, ums that is :=)

    If you're interested, I can take it upon me to maintain the Amiga version of MakeNl. If not, why don't you simply close down your
    precious @amiganet? ;)

    why not just join us ?


    Regards Benny

    ... there can only be one way of life, and it works :)

    --- Msged/LNX 6.2.0 (Linux/3.17.3-gentoo (i686))
    * Origin: duggi.junc.org where qico is waiting (2:230/0)
  • From Benny Pedersen@2:230/0 to Bj÷rn Felten on Fri Jul 27 01:25:02 2018
    Hello Björn!

    30 Nov 2014 13:48, Björn Felten wrote to andrew clarke:

    makenl: $(OBJ)
    $(CC) link to makenl $(OBJ)

    imho slink should do this

    $(SLINK) makenl $(OBJ)

    lattice use blink

    slink could not create overlays loading, eg have a single program on over 2MB in size load and run fine on 512K amiga 1000 :)

    only blink could do this kind of linking, if anyone can show me an example that
    does this with slink, makes me happy

    this is not important on emulators, but on real amiga it was


    Regards Benny

    ... there can only be one way of life, and it works :)

    --- Msged/LNX 6.2.0 (Linux/3.17.3-gentoo (i686))
    * Origin: duggi.junc.org where qico is waiting (2:230/0)
  • From andrew clarke@3:633/267 to Björn Felten on Fri Jul 27 01:25:02 2018
    30 Nov 14 13:48, you wrote to me:

    I don't know what SASC uses as a compiler #define. __SASC__
    maybe?

    # amiga makefile for makenl

    No, the compiler has internal #defines, eg. Watcom C defines __WATCOMC__ to allow you to use #ifdefs in the source code to call Watcom-specific functions. Nothing to do with the makefile, although as a last resort in the SASC makefile
    you could do something like:

    makenl: $(OBJS)
    sc -D__SASC__=1 -o makenl $(OBJS)

    (or whatever the correct syntax is for running the SASC compiler.)

    --- GoldED+/BSD 1.1.5-b20130910
    * Origin: Blizzard of Ozz, Melbourne, Victoria, Australia (3:633/267)
  • From andrew clarke@3:633/267 to Björn Felten on Fri Jul 27 01:25:02 2018
    30 Nov 14 23:12, I wrote to you:

    At first glance I don't see any Amiga-specific code in there
    though.

    I have this in osamiga.h:

    Ah I remember now. The osxxx.h/osxxx.c stuff became unmaintainable and
    was all merged into two files - os.h & os.c - but the Amiga code got
    left out because I had no way to build/test it.

    On closer inspection the removal of Amiga support must have been done more than
    10 years ago assuming it was done at all.

    I can't find osamiga.h in any of the mn???src.zip files, dating back to MakeNL 3.1.8 from July 2004, nor any other Amiga-related file in the old source zipfiles on Sourceforge.

    In all that time, Amiga support has not been missed, so I am not going to pursue this any further.

    --- GoldED+/BSD 1.1.5-b20130910
    * Origin: Blizzard of Ozz, Melbourne, Victoria, Australia (3:633/267)
  • From Björn Felten@2:203/2 to andrew clarke on Fri Jul 27 01:25:02 2018
    In all that time, Amiga support has not been missed, so I am not going
    to pursue this any further.

    I second the notion.

    --- Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.9.1.16) Gecko/20101125
    * Origin: news://felten.yi.org (2:203/2)