Eigenes makefile error 1 permission denied

Danke für die Hilfe, aber es geht jetzt noch weniger als vorher.
Sorry, ich vergaß das implizite Regeln nicht funktionieren können wenn die Objekt und Quelldateien in verschiedenen Verzeichnissen liegen.

Die Werte die ich für die Variablen angegeben habe waren (teilweise) nur als Beispiel gedacht, damit du weißt was dort stehen kann. Diese 1:1 zu übernehmen kann nicht funktionieren.

Du linkst keine externen Bibliotheken, also ist die LDLIBS Variable bei dir leer.

Du mußt natürlich auch Regeln bzw. Abhängigkeiten für die anderen Ziele angeben.

Code:
# mol executable
$(TARGET): $(OBJECTS)
	$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)


# main.o
$(OPATH)/main.o: \
    ./main.c \
    ./includes/includes.h \
    ./analysis/analysis.h \
    ./chemstrings/chemstrings.h \
    ./regex/regex.h
	$(CC) -c $(CFLAGS) -o $@ $<

... # usw.
\edit: Nebenbei, mit foldendem Premake Skript und dem Aufruf "premake gmake" hättest du dir die Arbeit sparen können:
Code:
solution "Molsketch"
   location "./build"

   configurations { "Debug", "Release" }

   -- A project defines one build target
   project "Mol"
      kind "ConsoleApp"
      language "C"
      files { "**.h", "**.c" }

      includedirs { "." }

      configuration "Debug"
         defines { "DEBUG" }
         flags { "Symbols" }

      configuration "Release"
         defines { "NDEBUG" }
         flags { "Optimize" }
Dabei werden sogar automatisch die Abhängigkeitsinformationen der Dateien untereinander erzeugt und es gibt Debug und Release Varianten. Außerdem kannst du mit Premake noch XCode, Visual Studio, Code::Blocks etc. Projekte generieren.

Gruß
 
Zuletzt bearbeitet:
Zurück