Makefile - verschiedene Verzeichnisse
-
Hallo,
ich habe momentan dieses Makefile:CC = g++ # use GNU C++ compiler CC-FLAGS = -Wall -c # warn all LD = g++ # use GNU C++ as linker LD-FLAGS = -shared -o # flags for linker (-o must be last) RM = rm -f # how to remove files MAKE = make # name of make utility OBJS = lgui.o LuaControls.o LuaControl.o GTKControl.o PageControl.o ListView.o Buttons.o Splitter.o Menu.o Dialogs.o TextControls.o Container.o TARGET = gui.so # name of executable #LUA_PATH = /usr/src/scite/scite_ru_older/src/scite/lua LUA_PATH = ./Scite_patch/scite_src/src/scite/lua LUA_INCS = -I$(LUA_PATH)/include -I$(LUA_PATH)/src GTK_INC = `pkg-config --cflags --libs gtk+-2.0` INC = $(LUA_INCS) $(GTK_INC) $(TARGET): $(OBJS) $(LD) $(INC) $(LD-FLAGS) $@ $(OBJS) #create from all *.cxx the .o with same basename #.cxx.o: %.o : %.cxx $(CC) $(INC) $(CC-FLAGS) $< clean: $(RM) *.o
dies hat den Vorteil, dass ich nur oben die Quell-Objecte für den linker angebe und diese aus den gleichnamigen cxx-dateien generiert.
nun möchte ich die Verzeichnis-Struktur ändern. die lgui.cxx soll eine Verzeichnisebene höher liegen. ich schreibe also "../lgui.o"
ich habe es schon hinbekommen, dass alles soweit kompiliert wird, jedoch scheitert es am linken, da der compiler die o-datei ins gleiche verzeichnis schmeist, wie die restlichen (sie ist also nicht unter ../ zu finden)Wie kann ich das am besten lösen?
Gruß Frank
-
hat niemand eine idee?
-
-
Ich verwende autoconf/automake. Da funktioniert alles automatisch. Na ja - nicht alles, aber so ein paar Dinge jedenfalls.