• make errors

    From Kai Richter@2:240/77 to Alle on Mon Jun 5 09:05:40 2023
    Hallo,

    ich versuche gerade husky unter FreeBSD zu bauen, aber da make, hier gnu make = gmake, wohl überall das gleiche Makefile Konzpet hat, mal hier die Frage worauf sich der folgende Error bezieht:

    /husky/smapi# gmake clean
    rm *.o
    rm: *.o: No such file or directory
    gmake: [Makefile:101: clean] Error 1 (ignored)

    Ist dieser "Error 1" der Fehler der bei dem löschen nicht vorhandener *.o Files gemeldet wurde?

    Tschuess

    Kai

    --- GoldED+/LNX 1.1.4.7
    * Origin: Dann fehlen eben 207542. (2:240/77)
  • From Anna Christina Nass@2:240/5824.1 to Kai Richter on Tue Jun 6 09:53:00 2023
    Am 05.06.23 schrieb Kai Richter@2:240/77 in PGMRS.GER:

    Hallo Kai,

    ich versuche gerade husky unter FreeBSD zu bauen, aber da make, hier gnu make = gmake, wohl berall das gleiche Makefile Konzpet hat, mal hier die Frage worauf sich der folgende Error bezieht:

    /husky/smapi# gmake clean
    rm *.o
    rm: *.o: No such file or directory
    gmake: [Makefile:101: clean] Error 1 (ignored)

    Ist dieser "Error 1" der Fehler der bei dem l”schen nicht vorhandener *.o Files gemeldet wurde?

    Was steht in Zeile 101 des Makefiles? Ich wrde darauf tippen, daá der
    Fehler dort entstanden ist.

    Viele Gráe
    Anna

    --- OpenXP 5.0.57
    * Origin: Imzadi Box Point (2:240/5824.1)
  • From Kai Richter@2:240/77 to Anna Christina Nass on Tue Jun 6 15:32:42 2023
    Tach auch Anna!

    Am 06 Jun 23, Anna Christina Nass schrieb an Kai Richter:

    /husky/smapi# gmake clean
    rm *.o
    rm: *.o: No such file or directory
    gmake: [Makefile:101: clean] Error 1 (ignored)

    Ist dieser "Error 1" der Fehler der bei dem löschen nicht
    vorhandener *.o Files gemeldet wurde?

    Was steht in Zeile 101 des Makefiles?

    100: clean:
    101: -$(RM) $(RMOPT) *$(_OBJ)

    Ich würde darauf tippen, daß der Fehler dort entstanden ist.

    Ich hab zwar schon rausbekommen, dass clean: ein target ist, bei RM kann ich raten, aber das _OBJ finde ich im Makefile nur noch hier:

    %$(_OBJ): $(SRC_DIR)%.c
    $(CC) $(CFLAGS) $(CDEFS) $(SRC_DIR)$*.c

    und da steht halt nur was von *.c

    Da ich kein makefile kann und auch, obwohl ich das jetzt nicht sagen sollte, gerade keine grosse Motivation habe NOCH eine neue Syntax zu lernen, kann ich da keinen Bezug zu *.o herstellen.

    Obwohl, wenn ich so drauf schaue, ich kann doch grep...

    # grep "_OBJ" *
    Makefile:%$(_OBJ): $(SRC_DIR)%.c
    Makefile: -$(RM) $(RMOPT) *$(_OBJ)
    huskymak.cfg:_OBJ=.o

    Jetzt wird es rund. Weiter als bis zur DYNLIB hab ich die huskymak.cfg bisher noch nicht bewusst gelesen. Danke für den Stupps.

    Tschuess

    Kai

    --- GoldED+/LNX 1.1.4.7
    * Origin: ... oft aber auch nicht immer. (2:240/77)
  • From Anna Christina Nass@2:240/5824.1 to Kai Richter on Wed Jun 7 10:45:00 2023
    Am 06.06.23 schrieb Kai Richter@2:240/77 in PGMRS.GER:

    Hallo Kai,

    /husky/smapi# gmake clean
    rm *.o
    rm: *.o: No such file or directory
    gmake: [Makefile:101: clean] Error 1 (ignored)

    Ist dieser "Error 1" der Fehler der bei dem l”schen nicht
    vorhandener *.o Files gemeldet wurde?

    Was steht in Zeile 101 des Makefiles?

    100: clean:
    101: -$(RM) $(RMOPT) *$(_OBJ)

    Okay, dann ist der "Error 1" schon auf dieses "rm *.o" zurckzufhren.
    Das "-" vor "$(RM)" sorgt brigens fr das "(ignored)", also dafr,
    daá der make-Vorgang nicht bei Auftreten eines Fehlers in dieser Zeile abgebrochen wird.

    Ich wrde darauf tippen, daá der Fehler dort entstanden ist.

    Ich hab zwar schon rausbekommen, dass clean: ein target ist, bei RM kann ich raten, aber das _OBJ finde ich im Makefile nur noch hier:

    %$(_OBJ): $(SRC_DIR)%.c
    $(CC) $(CFLAGS) $(CDEFS) $(SRC_DIR)$*.c

    und da steht halt nur was von *.c

    Dazu unten mehr.

    Da ich kein makefile kann und auch, obwohl ich das jetzt nicht sagen sollte, gerade keine grosse Motivation habe NOCH eine neue Syntax zu lernen, kann ich da keinen Bezug zu *.o herstellen.

    ;-) Kann ich verstehen. Makefiles sind jetzt nicht unbedingt immer
    sofort verst„ndlich.

    Obwohl, wenn ich so drauf schaue, ich kann doch grep...

    # grep "_OBJ" *
    Makefile:%$(_OBJ): $(SRC_DIR)%.c
    Makefile: -$(RM) $(RMOPT) *$(_OBJ)
    huskymak.cfg:_OBJ=.o

    Jetzt wird es rund. Weiter als bis zur DYNLIB hab ich die huskymak.cfg bisher noch nicht bewusst gelesen. Danke fr den Stupps.

    Ich gehe davon aus, daá die huskymak.cfg irgendwie vom Makefile
    eingebunden wird.
    Dadurch ergibt sich das "rm *.o" von Deinem Fehler oben.

    Die obige Zeile "%$(_OBJ): $(SRC_DIR)%.c" erstellt brigens eine Regel
    fr make, die angibt, wie ".o"-Dateien (von $(_OBJ)) aus .c-Dateien
    erzeugt werden k”nnen, n„mlich mit der Zeile darunter ($(CC) etc.pp.)

    Wenn jetzt an anderer Stelle, wo z.B. der Linker vorkommt, eine Regel
    fr die Erzeugung des Binaries steht und dieses von .o-Dateien
    abh„ngt, kann so eine Kette von Ereignissen in Gang gesetzt werden :)

    Viele Gráe
    Anna

    --- OpenXP 5.0.57
    * Origin: Imzadi Box Point (2:240/5824.1)
  • From Kai Richter@2:240/77 to Anna Christina Nass on Sun Jun 11 17:51:42 2023
    Grüß Dich, Anna!

    Am 07 Jun 23, Anna Christina Nass schrieb an Kai Richter:

    Ich gehe davon aus, daß die huskymak.cfg irgendwie vom Makefile eingebunden wird.

    Yupp, gefunden.

    für die Erzeugung des Binaries steht und dieses von .o-Dateien
    abhängt, kann so eine Kette von Ereignissen in Gang gesetzt werden :)

    Ich weiss nicht welche Strukturen da heute üblicherweise zur Anwendung kommen. Da Husky schon +20 Jahre auf dem Buckel hat und ursprünglich als high _portable_ tosser konzipiert war, sind da huskymak für verschiedenste Compiler und OS dabei. Das macht Durchblick für den Anfänger nicht gerade einfacher.

    Naja, langsam Schritt für Schritt. Ich hab jetzt erstmal eine git jail aufgesetzt, in der kann ich basteln bevor ich es auf den Node übertrage.

    Tschuess

    Kai

    --- GoldED+/LNX 1.1.4.7
    * Origin: For some people the answer is: 101010. (2:240/77)