make lib compilable
[mTask.git] / Makefile
index 104f190..bbe8187 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,34 +1,40 @@
 CLEAN_HOME?=/opt/clean
 CLM:=clm
-CLMFLAGS+=-dynamics -l -no-pie -h 200M -t -nt -lat
+
+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_HOME)/lib/iTasks-SDK/Dependencies/clean-platform/src/libraries/OS-Independent\
-       -I $(CLEAN_HOME)/lib/iTasks-SDK/Dependencies/clean-platform/src/libraries/OS-Independent/Deprecated/StdLib\
-       -I $(CLEAN_HOME)/lib/iTasks-SDK/Dependencies/clean-platform/src/libraries/OS-Posix\
-       -I $(CLEAN_HOME)/lib/iTasks-SDK/Dependencies/clean-platform/src/libraries/OS-Linux\
-       -I $(CLEAN_HOME)/lib/iTasks-SDK/Dependencies/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
+BINARIES:= miTask mTaskExamples mTaskInterpret
+
+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/ \;
+
+CleanSerial/Clean\ System\ Files/TTY.o:
+       make -C CleanSerial
 
-all: $(BINARIES)
+client/mTaskSymbols.h: mTaskMakeSymbols
+       mkdir -p client
+       ./$< -nr > $@
 
-%: %.icl $(wildcard *.dcl)
+%: %.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
+       make -C CleanSerial clean