28 |
|
USE_DYNGEN = @USE_DYNGEN@ |
29 |
|
DYNGENSRCS = @DYNGENSRCS@ |
30 |
|
DYNGEN_CC = @DYNGEN_CC@ |
31 |
+ |
DYNGEN_CFLAGS = @DYNGEN_CFLAGS@ |
32 |
+ |
DYNGEN_CXXFLAGS = @DYNGEN_CXXFLAGS@ |
33 |
|
DYNGEN_OP_FLAGS = @DYNGEN_OP_FLAGS@ |
34 |
|
BLESS = @BLESS@ |
35 |
|
EXEEXT = @EXEEXT@ |
79 |
|
OBJS = $(SRCS_LIST_TO_OBJS) |
80 |
|
|
81 |
|
define DYNGENSRCS_LIST_TO_OBJS |
82 |
< |
$(addprefix $(OBJ_DIR)/, $(addsuffix .o, $(foreach file, $(DYNGENSRCS), \ |
82 |
> |
$(addprefix $(OBJ_DIR)/, $(addsuffix .dgo, $(foreach file, $(DYNGENSRCS), \ |
83 |
|
$(basename $(notdir $(file)))))) |
84 |
|
endef |
85 |
|
DYNGENOBJS = $(DYNGENSRCS_LIST_TO_OBJS) |
157 |
|
ifeq ($(USE_DYNGEN),yes) |
158 |
|
DYNGENDEPS = basic-dyngen-ops.hpp ppc-dyngen-ops.hpp |
159 |
|
|
160 |
+ |
# Only GCC is supported for generating synthetic opcodes |
161 |
|
$(DYNGEN): $(DYNGENOBJS) |
162 |
< |
$(CXX) -o $@ $(LDFLAGS) $(DYNGENOBJS) |
162 |
> |
$(DYNGEN_CC) -o $@ $(LDFLAGS) $(DYNGENOBJS) |
163 |
> |
|
164 |
> |
$(OBJ_DIR)/%.dgo : %.c |
165 |
> |
$(DYNGEN_CC) -xc $(CPPFLAGS) $(DEFS) $(DYNGEN_CFLAGS) -c $< -o $@ |
166 |
> |
$(OBJ_DIR)/%.dgo : %.cpp |
167 |
> |
$(DYNGEN_CC) $(CPPFLAGS) $(DEFS) $(DYNGEN_CXXFLAGS) -c $< -o $@ |
168 |
|
|
169 |
|
$(OBJ_DIR)/basic-dyngen.o: basic-dyngen-ops.hpp |
170 |
|
$(OBJ_DIR)/basic-dyngen-ops.o: $(kpxsrcdir)/cpu/jit/basic-dyngen-ops.cpp |
171 |
< |
$(DYNGEN_CC) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DYNGEN_OP_FLAGS) -c $< -o $@ |
171 |
> |
$(DYNGEN_CC) $(CPPFLAGS) $(DEFS) $(DYNGEN_CXXFLAGS) $(DYNGEN_OP_FLAGS) -c $< -o $@ |
172 |
|
basic-dyngen-ops.hpp: $(OBJ_DIR)/basic-dyngen-ops.o $(DYNGEN) |
173 |
|
./$(DYNGEN) -o $@ $< |
174 |
|
|
175 |
|
$(OBJ_DIR)/ppc-dyngen.o: ppc-dyngen-ops.hpp |
176 |
|
$(OBJ_DIR)/ppc-dyngen-ops.o: $(kpxsrcdir)/cpu/ppc/ppc-dyngen-ops.cpp basic-dyngen-ops.hpp |
177 |
< |
$(DYNGEN_CC) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DYNGEN_OP_FLAGS) -c $< -o $@ |
177 |
> |
$(DYNGEN_CC) $(CPPFLAGS) $(DEFS) $(DYNGEN_CXXFLAGS) $(DYNGEN_OP_FLAGS) -c $< -o $@ |
178 |
|
ppc-dyngen-ops.hpp: $(OBJ_DIR)/ppc-dyngen-ops.o $(DYNGEN) |
179 |
|
./$(DYNGEN) -o $@ $< |
180 |
|
|