Skip to content

Commit 5a50c9b

Browse files
committed
Patmos and S4NoC 10: manipulator to the second-to-last reactors is added.
1 parent 5ff668e commit 5a50c9b

File tree

4 files changed

+27
-34
lines changed

4 files changed

+27
-34
lines changed

examples/patmos/s4noc_fed_lf/S4NoCFedLF/r1/Makefile

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,21 @@ BIN_DIR = $(CURDIR)/bin
99
OBJ_DIR = $(CURDIR)/obj
1010
OUTPUT = $(BIN_DIR)/$(LF_MAIN).a
1111
# OBJECTS = $(patsubst %.c,$(OBJ_DIR)/%.o,$(SOURCES))
12-
OBJECTS = $(SOURCES:.c=.bc)
12+
OBJECTS ?= $(SOURCES:.c=.bc)
13+
FILTER_OUT ?= ""
1314

1415
all: $(OUTPUT)
15-
$(info Building $(LF_MAIN) federate $(LF_FED))
16-
$(info Output directory: $(BIN_DIR))
17-
$(info Output binary: $(OUTPUT))
18-
$(info Sources: $(SOURCES))
19-
$(info Compiler: $(CC))
20-
$(info Compiler flags: $(CFLAGS))
2116

2217
# Build rule
2318
$(OUTPUT): $(OBJECTS)
24-
mkdir -p $(BIN_DIR)
25-
$(CC) -c $(SOURCES) $(CFLAGS)
26-
llvm-ar rcs $@ $(OBJECTS)
19+
@echo "BUILDING $(notdir $@) from $^ except $(FILTER_OUT)"
20+
mkdir -p $(BIN_DIR)
21+
llvm-ar rcsv $@ $(filter-out $(FILTER_OUT), $(OBJECTS));
2722

2823
%.bc: %.c
24+
@echo "$(notdir $^) COMPILED TO $(notdir $@)"
2925
mkdir -p $(OBJ_DIR)
30-
$(CC) -emit-llvm -c $< -o $@ $(CFLAGS)
26+
$(CC) -emit-llvm -c $^ -o $@ $(CFLAGS)
3127

3228
# Clean rule
3329
clean:

examples/patmos/s4noc_fed_lf/S4NoCFedLF/r2/Makefile

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,21 @@ BIN_DIR = $(CURDIR)/bin
99
OBJ_DIR = $(CURDIR)/obj
1010
OUTPUT = $(BIN_DIR)/$(LF_MAIN).a
1111
# OBJECTS = $(patsubst %.c,$(OBJ_DIR)/%.o,$(SOURCES))
12-
OBJECTS = $(SOURCES:.c=.bc)
12+
OBJECTS ?= $(SOURCES:.c=.bc)
13+
FILTER_OUT ?= ""
1314

1415
all: $(OUTPUT)
15-
$(info Building $(LF_MAIN) federate $(LF_FED))
16-
$(info Output directory: $(BIN_DIR))
17-
$(info Output binary: $(OUTPUT))
18-
$(info Sources: $(SOURCES))
19-
$(info Compiler: $(CC))
20-
$(info Compiler flags: $(CFLAGS))
2116

2217
# Build rule
2318
$(OUTPUT): $(OBJECTS)
24-
mkdir -p $(BIN_DIR)
25-
$(CC) -c $(SOURCES) $(CFLAGS)
26-
llvm-ar rcs $@ $(OBJECTS)
19+
@echo "BUILDING $(notdir $@) from $^ except $(FILTER_OUT)"
20+
mkdir -p $(BIN_DIR)
21+
llvm-ar rcsv $@ $(filter-out $(FILTER_OUT), $(OBJECTS));
2722

2823
%.bc: %.c
24+
@echo "$(notdir $^) COMPILED TO $(notdir $@)"
2925
mkdir -p $(OBJ_DIR)
30-
$(CC) -emit-llvm -c $< -o $@ $(CFLAGS)
26+
$(CC) -emit-llvm -c $^ -o $@ $(CFLAGS)
3127

3228
# Clean rule
3329
clean:

examples/patmos/s4noc_fed_lf/build.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,16 @@ popd
1414

1515
# Generate and build r2 sources
1616
pushd ./$LF_MAIN/r2
17+
REACTOR_PATH=$(pwd)/src-gen/S4NoCFedLF/r2
1718
./run_lfc.sh
18-
make all
19+
sed -i 's/_lf_environment/_lf_environment_2/g' $REACTOR_PATH/lf_start.c
20+
# make all FILTER_OUT="%unity.bc %action.bc %builtin_triggers.bc %clock_synchronization.bc %connection.bc %environment.bc %event.bc %federated.bc %logging.bc %network_channel.bc %physical_clock.bc %platform.bc %port.bc %queues.bc %reaction.bc %reactor.bc %scheduler.bc %serialization.bc %startup_coordinator.bc %tag.bc %timer.bc %trigger.bc %util.bc %pb_common.bc %pb_decode.bc %pb_encode.bc %message.pb.bc"
21+
make all OBJECTS="$REACTOR_PATH/lf_federate.bc $REACTOR_PATH/$LF_MAIN/Dst.bc $REACTOR_PATH/lf_start.bc"
1922
popd
2023

2124
mkdir -p $BIN_DIR
25+
2226
patmos-clang main.c ./$LF_MAIN/r1/bin/$LF_MAIN.a ./$LF_MAIN/r2/bin/$LF_MAIN.a \
2327
-o $BIN_DIR/$LF_MAIN
2428
patemu $BIN_DIR/$LF_MAIN
29+

lfc/core/src/main/kotlin/org/lflang/generator/uc/UcFederatedProjectTemplateGenerator.kt

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -146,25 +146,21 @@ class UcFederatedTemplateGenerator(
146146
|OBJ_DIR = $(CURDIR)/obj
147147
|OUTPUT = $(BIN_DIR)/$(LF_MAIN).a
148148
|# OBJECTS = $(patsubst %.c,$(OBJ_DIR)/%.o,$(SOURCES))
149-
|OBJECTS = $(SOURCES:.c=.bc)
149+
|OBJECTS ?= $(SOURCES:.c=.bc)
150+
|FILTER_OUT ?= ""
150151
|
151152
|all: $(OUTPUT)
152-
| $(info Building $(LF_MAIN) federate $(LF_FED))
153-
| $(info Output directory: $(BIN_DIR))
154-
| $(info Output binary: $(OUTPUT))
155-
| $(info Sources: $(SOURCES))
156-
| $(info Compiler: $(CC))
157-
| $(info Compiler flags: $(CFLAGS))
158153
|
159154
|# Build rule
160155
|$(OUTPUT): $(OBJECTS)
161-
| mkdir -p $(BIN_DIR)
162-
| $(CC) -c $(SOURCES) $(CFLAGS)
163-
| llvm-ar rcs $@ $(OBJECTS)
156+
| @echo "BUILDING $(notdir $@) from $^ except $(FILTER_OUT)"
157+
| mkdir -p $(BIN_DIR)
158+
| llvm-ar rcsv $@ $(filter-out $(FILTER_OUT), $(OBJECTS));
164159
|
165160
|%.bc: %.c
161+
| @echo "$(notdir $^) COMPILED TO $(notdir $@)"
166162
| mkdir -p $(OBJ_DIR)
167-
| $(CC) -emit-llvm -c $< -o $@ $(CFLAGS)
163+
| $(CC) -emit-llvm -c $^ -o $@ $(CFLAGS)
168164
|
169165
|# Clean rule
170166
|clean:

0 commit comments

Comments
 (0)