CLEAN_HOME?=/opt/clean
CLM:=clm
-override CLMFLAGS+=-dynamics -h 200M -nt -l -no-pie
+
+override CLMFLAGS+=-dynamics -h 200M -nt
+GCCVERSIONGTEQ6:=$(shell expr `gcc -dumpversion | cut -f1 -d.` \>= 6)
+ifeq "$(GCCVERSIONGTEQ6)" "1"
+ override CLMFLAGS+=-l -no-pie
+endif
+
CLMLIBS:=\
- -I $(CLEAN_HOME)/lib/iTasks-SDK/Patches/Dynamics\
- -I $(CLEAN_HOME)/lib/iTasks-SDK/Patches/Generics\
- -I $(CLEAN_HOME)/lib/iTasks-SDK/Patches/StdEnv\
- -I $(CLEAN_HOME)/lib/iTasks-SDK/Patches/TCPIP\
- -I $(CLEAN_HOME)/lib/iTasks-SDK/Server\
- -I ./clean-platform/src/libraries/OS-Independent\
- -I ./clean-platform/src/libraries/OS-Independent/Deprecated/StdLib\
- -I ./clean-platform/src/libraries/OS-Posix\
- -I ./clean-platform/src/libraries/OS-Linux\
- -I ./clean-platform/src/libraries/OS-Linux-64\
- -I $(CLEAN_HOME)/lib/iTasks-SDK/Dependencies/graph_copy/linux64\
- -I $(CLEAN_HOME)/lib/iTasks-SDK/Dependencies/graph_copy/common\
- -I $(CLEAN_HOME)/lib/iTasks-SDK/Dependencies/SAPL\
- -I $(CLEAN_HOME)/lib/iTasks-SDK/Dependencies/clean-sapl/src\
- -I $(CLEAN_HOME)/lib/iTasks-SDK/Server/lib\
+ -I $(CLEAN_HOME)/lib/Platform\
+ -I $(CLEAN_HOME)/lib/Platform/Deprecated/StdLib\
+ -I $(CLEAN_HOME)/lib/iTasks\
+ -I $(CLEAN_HOME)/lib/GraphCopy\
+ -I $(CLEAN_HOME)/lib/Sapl\
-I $(CLEAN_HOME)/lib/StdEnv\
-I $(CLEAN_HOME)/lib/Generics\
-I $(CLEAN_HOME)/lib/Dynamics\
-I $(CLEAN_HOME)/lib/TCPIP\
-I ./CleanSerial
-BINARIES:= mTaskExamples mTaskInterpret miTask
+BINARIES:= miTask mTaskExamples mTaskInterpret
-all: $(BINARIES) int/mTaskSymbols.h
+all: CleanSerial/Clean\ System\ Files/TTY.o $(BINARIES) client/mTaskSymbols.h
+ mkdir -p miTask-www
+ find $(CLEAN_HOME)/lib -path '*/WebPublic/*' -not -path '*/CodeMirror/*' -execdir cp -nR {} "$$PWD"/miTask-www/ \;
-int/mTaskSymbols.h: mTaskMakeSymbols
+CleanSerial/Clean\ System\ Files/TTY.o:
+ make -C CleanSerial
+
+client/mTaskSymbols.h: mTaskMakeSymbols
+ mkdir -p client
./$< -nr > $@
-%: %.icl $(wildcard *.[id]cl)
+%: %.icl $(wildcard */*.[id]cl *.[id]cl)
$(CLM) $(CLMLIBS) $(CLMFLAGS) $(basename $<) -o $@
-
clean:
- $(RM) -r $(BINARIES) Clean\ System\ Files
+ $(RM) -r $(BINARIES) Clean\ System\ Files miTask-data miTask-www
+ find . -type d -name 'Clean System Files' -print0 | xargs -r0 rm -r
+ make -C CleanSerial clean