Pliki makefile sinola
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
sinol/makefile.prog

71 lines
1.6 KiB

#
# ogolny makefile do kompilowania programow
# 2005.07.22 - modyfikacja parametrow kompilacji (aiwanicki)
# 2009.12.05 - dodanie usuwania plikow .valgrind
# 2012.10.13 - opcja -U-FORTIFY_SOURCE
#
include ../makefile.in
GCC_OPT = -Wall -lm -O2 -Wno-unused-result -Werror ${CFLAGS}
GPP_OPT = -Wall -lm -O2 -Wno-unused-result -Werror -I ~/.sinol ${CXXFLAGS}
PPC_OPT = -O2 -XS -Xt -Ci -Cr -Co -gl -g ${PASFLAGS}
PRG_C = $(wildcard *.c)
PRG_CPP = $(wildcard *.cpp)
PRG_JAVA = $(wildcard *.java)
PRG_PAS = $(wildcard *.pas)
PRG_ML = $(wildcard *.ml)
PRG = $(PRG_C) $(PRG_CPP) $(PRG_PAS) $(PRG_ML)
EXE_C = $(patsubst %.c,%.e,$(PRG_C))
EXE_CPP = $(patsubst %.cpp,%.e,$(PRG_CPP))
EXE_JAVA = $(patsubst %.java,%.e,$(PRG_JAVA))
EXE_PAS = $(patsubst %.pas,%.e,$(PRG_PAS))
EXE_ML = $(patsubst %.ml,%.e,$(PRG_ML))
EXE = $(EXE_C) $(EXE_CPP) $(EXE_JAVA) $(EXE_PAS) $(EXE_ML)
all: $(EXE) ${ID}.valgrind
%.e: %.pas
fpc $(PPC_OPT) $*.pas ${PAS_LDFLAGS}
mv $* $*.e
%.e: %.c
gcc $(GCC_OPT) $^ -o $*.e ${C_LDFLAGS}
%.e: %.cpp
g++ $(GPP_OPT) $^ -o $*.e ${CXX_LDFLAGS}
%.e: %.java
javac $(JAVA_OPT) $^
MEM=$$(($(MEMLIMIT) / 1000))M; \
echo "ulimit -v unlimited ; java -client -Xmx$$MEM -Xms$$MEM -Xss$$MEM -cp \`dirname \$$0\` $*" > $*.e
chmod 755 $*.e
%.e: %.ml
ocamlopt $^ -o $*.e
rm -f *.cmx
rm -f *.cmi
rm -f *.cmo
%.valgrind: %.c
gcc -O2 ${CFLAGS} -g -lm $^ -o $*.valgrind ${C_LDFLAGS}
%.valgrind: %.cpp
g++ -O2 ${CXXFLAGS} -g -lm $^ -o $*.valgrind ${CXX_LDFLAGS}
%.valgrind: %.pas %.e
cp $*.e $*.valgrind
clean:
rm -f *.o
rm -f *.e
rm -f *.valgrind
rm -f *~
rm -f *.class
rm -f *.cmx
rm -f *.cmi
rm -f *.cmo
-include makefile.user