Como parte del archivo MAKE, me gustaría producir una versión depurada o de lanzamiento del objetivo.Hacer advertencia de archivos, anulando los comandos para el destino
Funcionalmente, todo está funcionando, sin embargo, que estoy recibiendo advertencias cuando se ejecuta hacen
12 SRC := $(shell echo src/*.cpp)
13 SRC += $(shell echo $(TEST_ROOT)/*.cpp)
14
15 D_OBJECTS = $(SRC:.cpp=.o) # same objects will need to be built differently
16 R_OBJECTS = $(SRC:.cpp=.o) # same objects will need to be built differently
22 all: $(TARGET)
23
25 $(TARGET): $(D_OBJECTS)
26 $(CC) $(D_OBJECTS) -o $(TARGET)
27
28 $(D_OBJECTS) : %.o: %.cpp # ----- run with debug flags
29 $(CC) $(COMMON_FLAGS) $(DEBUG_FLAGS) -c $< -o [email protected]
30
31 release: $(R_OBJECTS)
32 $(CC) $(R_OBJECTS) -o $(TARGET)
33
34 $(R_OBJECTS) : %.o: %.cpp # ----- run with release flags
35 $(CC) $(COMMON_FLAGS) $(RELEASE_FLAGS) -c $< -o [email protected]
Cuando i make
me sale versión de depuración, cuando me sale make release
versión de lanzamiento.
Pero también recibo advertencias:
Makefile:35: warning: overriding commands for target `src/Timer.o'
Makefile:29: warning: ignoring old commands for target `src/Timer.o'
Makefile:35: warning: overriding commands for target `test/TimerTest.o'
Makefile:29: warning: ignoring old commands for target `test/TimerTest.o'
Con este 2 preguntas:
- Cualquier forma de ignorar las advertencias
- estoy haciendo las cosas bien? ¿Qué cambios son necesarios?
¿Sabes cómo hacer eso en netbeans que genera automáticamente Makefile? –
o cree una biblioteca si tiene el mismo código para varios binarios – baptx