Makefiles generalisieren
-
Hallo Leute,
ich möchte für meine Projekte gerne meine Makefiles generalisieren.
Das heisst, ich möchte mir zwei Files schreiben; in das erste kommen alle Regeln, in das zweite alles allgemeine. Ich möchte also für jedes Projekt nur noch einen zusätzliches Makefile schreiben, in dem alle Dateien, Compiler- und Linkerflags eingetragen werden. Die ersten beiden Files werden in dieses Makefile eingebunden und man kann wunderbar kompilieren.Hat jemand von euch ein Ahnung, wie man sowas sinnvoll machen kann, oder gar ein Beispiel dafür???
Grateful for any suggestions.
Meaculpa
-
Genauso wie unter C/C++,PHP
include ./MakeInc
-
Hallo!
Du wolltest ein Beispiel, du sollst es haben!
Es gibt zwei Dateien, eine Makefile da wo du alle zu compilenden Dateien einträgst, sowie die zu verwendenden Libs, und ne Makefile.conf, die die eigentliche Arbeit macht.
Die Makesfiles stammen aus Clanlib..Hoffe das hilft dir
Makefile
EXAMPLE_BIN=exename OBJF=main.o \ bla.o # ^^ hier ist ein Tab eingefügt! LIBS=ncurses blaLib include Makefile.conf
Makefile.conf
# würde an alle libs ein "-0.7" anhängen # PACKAGES = $(patsubst %,%-0.7,$(LIBS)) PACKAGES = LIBS CXXFLAGS += `pkg-config --cflags $(PACKAGES)` #EXAMPLE_BIN contains the binary to build all: $(EXAMPLE_BIN) $(EXAMPLE_BIN): $(OBJF) $(CXX) $(CXXFLAGS) $(OBJF) -o $(EXAMPLE_BIN) `pkg-config --libs $(PACKAGES)` # toller piepsesound nach erfolgreichem compilen echo -e "\a" clean: rm -f $(OBJF) $(EXAMPLE_BIN) %.o : %.cpp $(CXX) $(CXXFLAGS) -c $< -o $@
Edit:
Kleiner Fehler beseitigt
-
Danke, dass sieht ja schon ziemlich gut aus...
Dann werd ich mich mal dran machen dass für mich umzustricken.
Gruß Mea