bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Make error


From: spai
Subject: Make error
Date: Tue, 25 Nov 2003 08:14:01 -0800

I like the idea of using implicit rules
to do all the work. With that goal, is there an elegant
way to do than doing it as follow:

bld_dir = ../obj
$(bld_dir)/%.o: %.cpp
        $(COMPILE.cpp) $(OUTPUT_OPTION) $<

The rule above creates all the object files in ../obj directory
but the following Makefile gives me the error:

gnumake: *** No rule to make target `../bin/OneLevel_OneGlobal_SASD', needed by `build'.  Stop.

Again, is there an elegant way of creating an executable in the bin directory
using the implicit rules.

# $Source$
#

SYSTEMC = /prj/vlsi/scp/osci/systemc-2.0.1
bin_dir = ../bin

# Set the default variables
CC          = g++
CXXFLAGS    = -g -Wall -Wno-deprecated
TARGET_ARCH =
CPPFLAGS    = -I$(SYSTEMC)/include \
              -I../axi

#Libraries:
LDFLAGS=-g
LDLIBS = \
        -L../lib -lqctaxicore \
        -L$(SYSTEMC)/lib-gccsparcOS5 -lsystemc -lm

target_bus_models = \
        OneLevel_OneGlobal_SASD.cpp

# Executables
TARGETS = $(target_bus_models:%.cpp=$(bin_dir)/%)

$(bin_dir)/%: %.cpp
        $(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@

# Build all targets
build: $(TARGETS)

# Clean directory
clean:
        rm -rf $(TARGETS)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]