Makefile revision 78f51585b9ef1095880ddd235a8d41ff9e152fc5
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek# A Makefile to compile genRules in a comfortable way for various plattforms.
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek
7b4d7cc08283e5485dcfa49ffdf1915de1d5e81bKay Sievers####################################################################
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek## include The uname variable
89ffcd2ad5bf87866314e96c4179ba622851cd6eLennart Poetteringifneq ($(MAKECMDGOALS),install)
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmekinclude uname.mk
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmekendif
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek####################################################################
dbc4fbae58e39cb0d33738f0a4d1e74511ed1fb5Lennart Poettering## Some varibles, which control the compilation
7b17a7d72f5ba5ad838b19803534c56a46f3bce9Lennart Poettering
b562f5a57d11d356aab26b08481f3befffff0822Lennart PoetteringHC = ghc
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-SzmekPERL = perl
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek####################################################################
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek# source
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmeksources = GenerateRules.hs
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek
b562f5a57d11d356aab26b08481f3befffff0822Lennart Poettering####################################################################
b562f5a57d11d356aab26b08481f3befffff0822Lennart Poettering### targets
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmekmacintosh: genRules.macintosh
b562f5a57d11d356aab26b08481f3befffff0822Lennart Poettering
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmeksolaris: genRules.solaris
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmeklinux: genRules.linux
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek
54c31a79f72ff57ac8eba089acacc4ab482b745dLennart PoetteringgenRules.$(UNAME): genRules.tmp
b562f5a57d11d356aab26b08481f3befffff0822Lennart Poettering mv genRules.tmp $@
3e37b970b5454863ca34bd96506c4f14804b2580Auke Kok
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmekinstall: genRules.linux genRules.solaris genRules.macintosh
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek cp $^ ..
a752addf67986c9b0e247bddc1747b5e6284945dLennart Poettering
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-SzmekgenRules.tmp: $(sources)
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek rm -f genRules.tmp
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek $(HC) --make -package text -i../.. -o $@ $<
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek rm -f uname.mk
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek
b87377fca3c938303a2fb25229abf8c14814841bKay Sievers### clean up
b562f5a57d11d356aab26b08481f3befffff0822Lennart Poettering.PHONY : clean clean-bin
b562f5a57d11d356aab26b08481f3befffff0822Lennart Poetteringclean:
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek rm -f genRules.tmp uname.mk *.hi *.o
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek
f4ce2b3e5ce93b83f14f8785e205ebb5a9b8c1dfLennart Poetteringclean-bin: clean
b562f5a57d11d356aab26b08481f3befffff0822Lennart Poettering rm -f genRules.solaris genRules.linux
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek#########################################################
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmekuname.mk:
b562f5a57d11d356aab26b08481f3befffff0822Lennart Poettering rm -f $@
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek $(PERL) -e '$$un=`uname`;print "UNAME=";\
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek $$un =~ m"Darwin" && do {print "macintosh"};\
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek $$un =~ m"SunOS" && do {print "solaris"};\
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek $$un =~ m"Linux" && do {print "linux"};\
b5a223bfcf2ebcf374973b29870a5e80fb42b8beZbigniew Jędrzejewski-Szmek print "\n"' > $@
b562f5a57d11d356aab26b08481f3befffff0822Lennart Poettering