File tree Expand file tree Collapse file tree 4 files changed +27
-34
lines changed
examples/patmos/s4noc_fed_lf
lfc/core/src/main/kotlin/org/lflang/generator/uc Expand file tree Collapse file tree 4 files changed +27
-34
lines changed Original file line number Diff line number Diff line change @@ -9,25 +9,21 @@ BIN_DIR = $(CURDIR)/bin
99OBJ_DIR = $(CURDIR ) /obj
1010OUTPUT = $(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
1415all : $(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
3329clean :
Original file line number Diff line number Diff line change @@ -9,25 +9,21 @@ BIN_DIR = $(CURDIR)/bin
99OBJ_DIR = $(CURDIR ) /obj
1010OUTPUT = $(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
1415all : $(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
3329clean :
Original file line number Diff line number Diff line change 1414
1515# Generate and build r2 sources
1616pushd ./$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"
1922popd
2023
2124mkdir -p $BIN_DIR
25+
2226patmos-clang main.c ./$LF_MAIN /r1/bin/$LF_MAIN .a ./$LF_MAIN /r2/bin/$LF_MAIN .a \
2327 -o $BIN_DIR /$LF_MAIN
2428patemu $BIN_DIR /$LF_MAIN
29+
Original file line number Diff line number Diff 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:
You can’t perform that action at this time.
0 commit comments