plcopen/Makefile
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Tue, 12 Sep 2017 16:49:35 +0300
changeset 1800 1711339585ce
parent 1353 fc7aab64589b
child 1936 b85b13b1c2ec
permissions -rw-r--r--
make possible to turn off at compile time online debugging, logging
and external sync functionality

Defines TARGET_DEBUG_DISABLE, TARGET_LOGGING_DISABLE, TARGET_EXT_SYNC_DISABLE
allow to use generated PLC code in low-cost microcontrollers,
integrate into external programs and so on.

main.c:
extern void __run(void);
int main(void)
{
for(;;) {
__run();
// sleep common_ticktime__ ns
// add common_ticktime__ ns to __CURRENT_TIME
}
return 0;
}

Compile for example for arm bare-metal:
../build$ arm-none-eabi-gcc \
-DTARGET_DEBUG_DISABLE -DTARGET_LOGGER_DISABLE
-DTARGET_EXT_SYNC_DISABLE \
-flto -ffunction-sections -fdata-sections -I../../../../matiec/lib/C \
*.c \
-nodefaultlibs --specs=nano.specs -Wl,--static -Wl,--gc-section -Wl,--start-group -lc -lm -lnosys -lgcc -Wl,--end-group
1353
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
     1
#! gmake
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
     2
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
     3
yml := ../../yml2
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
     4
ysl2files := $(wildcard *.ysl2)
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
     5
xsltfiles := $(patsubst %.ysl2, %.xslt, $(ysl2files))
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
     6
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
     7
all:$(xsltfiles)
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
     8
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
     9
%.xslt: %.ysl2
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
    10
	$(yml)/yml2c -I $(yml) $< -o $@.tmp
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
    11
	xmlstarlet fo $@.tmp > $@
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
    12
	rm $@.tmp
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
    13
	
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
    14
clean:
fc7aab64589b Added makefile for generating xslt stylesheet from ysl2 files
Laurent Bessard
parents:
diff changeset
    15
	rm -f $(xsltfiles)