refactoors
[mTask.git] / Makefile
1 CLEAN_HOME?=/opt/clean
2 CLM:=clm
3
4 override CLMFLAGS+=-dynamics -h 200M -nt
5 GCCVERSIONGTEQ6:=$(shell expr `gcc -dumpversion | cut -f1 -d.` \>= 6)
6 ifeq "$(GCCVERSIONGTEQ6)" "1"
7 override CLMFLAGS+=-l -no-pie
8 endif
9
10 ITASKS:=~/projects/iTasks-SDK/Libraries
11
12 # -I ~/projects/iTasks-SDK/Libraries
13 CLMLIBS:=\
14 -I $(CLEAN_HOME)/lib/Platform\
15 -I $(CLEAN_HOME)/lib/Platform/Deprecated/StdLib\
16 -I $(ITASKS)\
17 -I $(CLEAN_HOME)/lib/GraphCopy\
18 -I $(CLEAN_HOME)/lib/Sapl\
19 -I $(CLEAN_HOME)/lib/StdEnv\
20 -I $(CLEAN_HOME)/lib/Generics\
21 -I $(CLEAN_HOME)/lib/Dynamics\
22 -I $(CLEAN_HOME)/lib/TCPIP\
23 -I ./CleanSerial
24
25 BINARIES:= mTaskInterpret miTask # mTaskExamples
26
27 all: CleanSerial/Clean\ System\ Files/TTY.o $(BINARIES) #client/mTaskSymbols.h
28 mkdir -p miTask-www
29 find $(ITASKS) -path '*/WebPublic' -execdir sh -c 'cp -nvR WebPublic/* '"$$PWD"/miTask-www/ \;
30
31 CleanSerial/Clean\ System\ Files/TTY.o:
32 make -C CleanSerial
33
34 client/mTaskSymbols.h: mTaskMakeSymbols
35 mkdir -p client
36 ./$< -nr > $@
37
38 %: %.icl $(wildcard */*.[id]cl *.[id]cl)
39 $(CLM) $(CLMLIBS) $(CLMFLAGS) $(basename $<) -o $@
40
41 clean-%:
42 $(RM) -r $(addprefix $(@:clean-%=%),-data -www) $(@:clean-%=%)
43
44 clean: $(addprefix clean-,$(BINARIES))
45 find . -type d -name 'Clean System Files' -print0 | xargs -r0 $(RM) -r
46 make -C CleanSerial clean