Dieses Makefile generiert .o
Dateien in src/branch/
sowie in dem Projektverzeichnis der obersten Ebene, das das Makefile enthält.Warum generiert Makefile Objektdateien im aktuellen Verzeichnis?
CXX := g++
SRC += $(wildcard src/file/*.cpp)
SRC += $(wildcard src/random/*.cpp)
SRC += $(wildcard src/termui/*.cpp)
SRC += $(wildcard src/graphics/*.cpp)
SRC += $(wildcard src/memory/*.cpp)
SRC += $(wildcard src/*.cpp)
OBJ := $(SRC:.cpp=.o)
MAIN=ProcC
CXXFLAGS := -g -fPIC -std=c++11 -fpermissive
LIBS := -lboost_system -lboost_serialization -lboost_filesystem
LIBDIR = -L ~/c/libraries/boost/lib -L ~/c/libraries/SFGUI-0.3.0/lib
INCDIR = -I include/ -I ~/c/libraries/boost/include/
.PHONY: depend clean
all: $(MAIN)
@echo Successfully compiled ProcC source code
$(MAIN): $(OBJ)
@echo Linking ProcC objects and dependencies into executable.
$(CXX) $(CXXFLAGS) $(INCDIR) $(LIBDIR) -c $(SRC) $(LIBS)
rm *.o
.cpp.o:
@echo Compiling ProcC source code into objects.
$(CXX) $(CXXFLAGS) $(INCDIR) -c $< -o [email protected]
clean:
$(RM) $(OBJ)
depend: $(SRCS)
makedepend $(INCDIR) $^
Diese Make-Datei sollte Objekte aus der Quelle erzeugen, aber keine ausführbar; Ich beabsichtige, .so
Dateien von diesem Projekt zu erstellen, da es eine Bibliothek ist. Was mache ich in diesem Makefile falsch?
'all' ist auch' .PHONY', 'depend' ist unnötig. –