# # # # Dependencies:
# application Makefile --> Makefile.dan --> Makefile.<application>
#
# Supported Host Platforms: Alpha/OSF1, I686/Linux, DS5000/Ultrix
# Supported Target Platforms: Alpha/OSF1, I686/Linux, DS5000/Ultrix, m68k/VxWorks #
# modification history # -------------------- # 18sep08 kHu help, helpx fuer ECF-Programme # 15aug08 kHu DOXYGEN comments added # 08apr04 kHu -DINCLUDE_SPECTRA # 31mar03 kHu new ##
DATE = `date +%d%b%y` DIR = `pwd` HOSTNAME = `hostname` PROGS = /usr/exp/ex_prog/ PARAM = PNAM=$(PNAM) \ PLIB=$(PLIB) ALIB=$(ALIB) DLIB=$(DLIB) ELIB=$(ELIB) # Alpha/OSF1 platform CCxx = "c89 -c -msg_enable level3 \ -DOSF1 -DMYNAME=$(PNAM) -DSIGNAT=$(SIGNAT) \ -DCONFIG=\\\"$(PNAM).conf\\\" \ -DINCLUDE_SPECTRA \ -I./ -I$(ALIB) -I$(DLIB) -I$(ELIB)" LDxx = "c89" LFxx = "-lm" # I686/Linux platform CCll = "gcc -c -Wall \ -DLINUX -DMYNAME=$(PNAM) -DSIGNAT=$(SIGNAT) \ -DCONFIG=\\\"$(PNAM).conf\\\" \ -DINCLUDE_SPECTRA \ -I./ -I$(ALIB) -I$(DLIB) -I$(ELIB)" LDll = "gcc" LFll = "-lm" # DS5000/Ultrix platform CCuu = "c89 -c -msg_enable level3 \ -DULTRIX -DMYNAME=$(PNAM) -DSIGNAT=$(SIGNAT) \ -DCONFIG=\\\"$(PNAM).conf\\\" \ -DINCLUDE_SPECTRA \ -I./ -I$(ALIB) -I$(DLIB) -I$(ELIB)" LDuu = "c89" LFuu = "-lm" # m68k/VxWorks platform cross compiled on DS5000/Ultrix CCuv = "/usr/users/vxmaster/gnu/decmips.68k/bin/cc68k \ -c -Wall \ -DCPU=MC68040 -DVXWORKS -DSIGNAT=$(SIGNAT) \ -DMYNAME=$(PNAM) -DCONFIG=\\\"$(PNAM).conf\\\" \ -DINCLUDE_SPECTRA \ -I./ -I$(ALIB) -I$(DLIB) -I$(ELIB) \ -I/usr/users/vxmaster/vw/h" LDuv = "/usr/users/vxmaster/gnu/decmips.68k/bin/ld68k" LFuv = "-r" # m68k/VxWorks platform cross compiled on I686/Linux CClv = "/home/huber/Tornado/host/linux/bin/cc68k \ -Wall \ -c -fno-builtin -nostdinc \ -DCPU=MC68040 -m68020-60 -DVXWORKS -DSIGNAT=$(SIGNAT) \ -DMYNAME=$(PNAM) -DCONFIG=\\\"$(PNAM).conf\\\" \ -DINCLUDE_SPECTRA \ -I./ -I$(ALIB) -I$(DLIB) -I$(ELIB) \ -I/home/huber/Tornado/target/h" LDlv = "/home/huber/Tornado/host/linux/bin/cc68k" LFlv = "-r" build: bld$(h)$(t) bld--: build-- bld-x: build-x bld-l: build-l bld-u: build-u bld-v: build-v bld-a: build-x build-l build-u build-v bldx-: buildxx bldxx: buildxx bldl-: buildll bldll: buildll bldlv: buildlv bldu-: builduu blduu: builduu blduv: builduv build--: @echo "" @if test `uname` = OSF1; then \ echo "*** Making program $(TNAM) ($(PNAM)osf) for Alpha OSF1 ***"; \ echo "*** on host $(HOSTNAME) ***"; \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC=$(CCxx) LD=$(LDxx) LF=$(LFxx) OBJ=xx.o EXE=osf; \ elif test `uname` = Linux; then \ echo "*** Making program $(TNAM) ($(PNAM)lnx) for i686 Linux ***"; \ echo "*** on host $(HOSTNAME) ***"; \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC=$(CClv) LD=$(LDlv) LF=$(LFlv) OBJ=lv.o EXE=v.o; \ elif test `uname` = ULTRIX; then \ echo "*** Making program $(TNAM) ($(PNAM)ult) for DS5000 Ultrix ***"; \ echo "*** on host $(HOSTNAME) ***"; \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC=$(CCuv) LD=$(LDuv) LF=$(LFuv) OBJ=uv.o EXE=v.o; \ else \ echo "*** Making program $(TNAM) on host $(HOSTNAME) not supported ***"; \ fi build-x buildxx: @echo "" @echo "*** Making program $(TNAM) ($(PNAM)osf) for Alpha OSF1 ***" @if test `uname` = OSF1; then \ echo "*** on host $(HOSTNAME) ***"; \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC=$(CCxx) LD=$(LDxx) LF=$(LFxx) OBJ=xx.o EXE=osf; \ else \ echo "*** on host Servix via RSH ***"; \ rsh servix "cd $(DIR); \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC='$(CCxx)' LD='$(LDxx)' LF='$(LFxx)' OBJ=xx.o EXE=osf"; \ fi build-l buildll: @echo "" @echo "*** Making program $(TNAM) ($(PNAM)lnx) for i686 Linux ***" @if test `uname` = Linux; then \ echo "*** on host $(HOSTNAME) ***"; \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC=$(CCll) LD=$(LDll) LF=$(LFll) OBJ=ll.o EXE=lnx; \ else \ echo "*** on host Atomix via RSH ***"; \ rsh atomix "cd $(DIR); \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC='$(CCll)' LD='$(LDll)' LF='$(LFll)' OBJ=ll.o EXE=lnx"; \ fi build-u builduu: @echo "" @echo "*** Making program $(TNAM) ($(PNAM)ult) for DS5000 Ultrix ***" @if test `uname` = ULTRIX; then \ echo "*** on host $(HOSTNAME) ***"; \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC=$(CCuu) LD=$(LDuu) LF=$(LFuu) OBJ=uu.o EXE=ult; \ else \ echo "*** on host Tutnix via RSH ***"; \ rsh tutnix "cd $(DIR); \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC='$(CCuu)' LD='$(LDuu)' LF='$(LFuu)' OBJ=uu.o EXE=ult"; \ fi build-v: @echo "" @echo "*** Making program $(TNAM) ($(PNAM)v.o) for MVME162/172 VxWorks ***" @if test `uname` = ULTRIX; then \ echo "*** on host $(HOSTNAME) ***"; \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC=$(CCuv) LD=$(LDuv) LF=$(LFuv) OBJ=uv.o EXE=v.o; \ elif test `uname` = Linux; then \ echo "*** on host $(HOSTNAME) ***"; \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC=$(CClv) LD=$(LDlv) LF=$(LFlv) OBJ=lv.o EXE=v.o; \ else \ echo "*** on host Atomix via RSH ***"; \ rsh atomix "cd $(DIR); \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC='$(CClv)' LD='$(LDlv)' LF='$(LFlv)' OBJ=lv.o EXE=v.o"; \ fi buildlv: @echo "" @echo "*** Making program $(TNAM) ($(PNAM)v.o) for MVME162/172 VxWorks ***" @if test `uname` = Linux; then \ echo "*** on host $(HOSTNAME) ***"; \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC=$(CClv) LD=$(LDlv) LF=$(LFlv) OBJ=lv.o EXE=v.o; \ else \ echo "*** on host Atomix via RSH ***"; \ rsh atomix "cd $(DIR); \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC='$(CClv)' LD='$(LDlv)' LF='$(LFlv)' OBJ=lv.o EXE=v.o"; \ fi builduv: @echo "" @echo "*** Making program $(TNAM) ($(PNAM)v.o) for MVME162/172 VxWorks ***" @if test `uname` = ULTRIX; then \ echo "*** on host $(HOSTNAME) ***"; \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC=$(CCuv) LD=$(LDuv) LF=$(LFuv) OBJ=uv.o EXE=v.o; \ else \ echo "*** on host Tutnix via RSH ***"; \ rsh tutnix "cd $(DIR); \ make -f Makefile.$(PNAM) $(PNAM) $(PARAM) \ CC='$(CCuv)' LD='$(LDuv)' LF='$(LFuv)' OBJ=uv.o EXE=v.o"; \ fi install: inst$(t) inst-: install- instx: installx instl: installl instu: installu instv: installv insta: installx installl installu installv install-: @echo "" @if test `uname` = OSF1; then \ echo "*** Installing program $(TNAM) for Alpha OSF1 ***"; \ if test -f $(PROGS)$(PNAM)osf -a ! -f $(PROGS)$(PNAM)osf.$(DATE); then \ mv $(PROGS)$(PNAM)osf $(PROGS)$(PNAM)osf.$(DATE); \ fi; \ cp $(PNAM)osf $(PROGS); \ chmod 755 $(PROGS)$(PNAM)osf; \ elif test `uname` = Linux; then \ echo "*** Installing program $(TNAM) for i686 Linux ***"; \ if test -f $(PROGS)$(PNAM)lnx -a ! -f $(PROGS)$(PNAM)lnx.$(DATE); then \ mv $(PROGS)$(PNAM)lnx $(PROGS)$(PNAM)lnx.$(DATE); \ fi; \ cp $(PNAM)lnx $(PROGS); \ chmod 755 $(PROGS)$(PNAM)lnx; \ elif test `uname` = ULTRIX; then \ echo "*** Installing program $(TNAM) for DS5000 Ultrix ***"; \ if test -f $(PROGS)$(PNAM)ult -a ! -f $(PROGS)$(PNAM)ult.$(DATE); then \ mv $(PROGS)$(PNAM)ult $(PROGS)$(PNAM)ult.$(DATE); \ fi; \ cp $(PNAM)ult $(PROGS); \ chmod 755 $(PROGS)$(PNAM)ult; \ else \ echo "*** Installing $(TNAM) on host $(HOSTNAME) not supported ***"; \ fi installx: @echo "" @echo "*** Installing program $(TNAM) for Alpha OSF1 ***" @if test -f $(PROGS)$(PNAM)osf -a ! -f $(PROGS)$(PNAM)osf.$(DATE); then \ mv $(PROGS)$(PNAM)osf $(PROGS)$(PNAM)osf.$(DATE); \ fi cp $(PNAM)osf $(PROGS) @chmod 755 $(PROGS)$(PNAM)osf installl: @echo "" @echo "*** Installing program $(TNAM) for i686 Linux ***" @if test -f $(PROGS)$(PNAM)lnx -a ! -f $(PROGS)$(PNAM)lnx.$(DATE); then \ mv $(PROGS)$(PNAM)lnx $(PROGS)$(PNAM)lnx.$(DATE); \ fi cp $(PNAM)lnx $(PROGS) @chmod 755 $(PROGS)$(PNAM)lnx installu: @echo "" @echo "*** Installing program $(TNAM) for DS5000 Ultrix ***" @if test -f $(PROGS)$(PNAM)ult -a ! -f $(PROGS)$(PNAM)ult.$(DATE); then \ mv $(PROGS)$(PNAM)ult $(PROGS)$(PNAM)ult.$(DATE); \ fi cp $(PNAM)ult $(PROGS) @chmod 755 $(PROGS)$(PNAM)ult installv: @echo "" @echo "*** Installing program $(TNAM) for MVME162/172 VxWorks ***" @if test -f $(PROGS)$(PNAM)v.o -a ! -f $(PROGS)$(PNAM)v.o.$(DATE); then \ mv $(PROGS)$(PNAM)v.o $(PROGS)$(PNAM)v.o.$(DATE); \ fi cp $(PNAM)v.o $(PROGS) @chmod 644 $(PROGS)$(PNAM)v.o clean: cln$(t) cln-: clean- clnx: cleanx clnl: cleanl clnu: cleanu clnv: cleanv clna: cleanx cleanl cleanu cleanv clean-: @echo "" @if test `uname` = OSF1; then \ echo "*** Cleanup $(TNAM) for Alpha OSF1 ***"; \ make -f Makefile.$(PNAM) clean OBJ=xx.o; \ elif test `uname` = Linux; then \ echo "*** Cleanup $(TNAM) for i686 Linux ***"; \ make -f Makefile.$(PNAM) clean OBJ=ll.o; \ elif test `uname` = ULTRIX; then \ echo "*** Cleanup $(TNAM) for DS5000 Ultrix ***"; \ make -f Makefile.$(PNAM) clean OBJ=uu.o; \ else \ echo "*** Cleanup $(TNAM) on host $(HOSTNAME) not supported ***"; \ fi cleanx: @echo "" @echo "*** Cleanup $(TNAM) for Alpha OSF1 ***" @make -f Makefile.$(PNAM) clean OBJ=xx.o cleanl: @echo "" @echo "*** Cleanup $(TNAM) for i686 Linux ***" @make -f Makefile.$(PNAM) clean OBJ=ll.o cleanu: @echo "" @echo "*** Cleanup $(TNAM) for DS5000 Ultrix ***" @make -f Makefile.$(PNAM) clean OBJ=uu.o cleanv: @echo "" @echo "*** Cleanup $(TNAM) for MVME162/172 VxWorks ***" @make -f Makefile.$(PNAM) clean OBJ=uv.o @make -f Makefile.$(PNAM) clean OBJ=lv.o helpx: @echo "" @echo "Usage:" @echo "make build n=<n> h=<h> t=<t> (build program)" @echo "make install n=<n> h=<h> t=<t> (install program)" @echo "make clean n=<n> h=<h> t=<t> (clean program)" @echo "make all n=<n> h=<h> t=<t> (build, install, clean)" @echo "make info n=<n> (build INFO files)" @echo "<n>: name of program to be build, installed, cleaned @echo "<h>: host system to make program on" @echo "h=-: find applicable host (default)" @echo "h=x: Alpha/OSF1" @echo "h=l: I686/Linux" @echo "h=u: DS5000/Ultrix" @echo "<t>: target system to make program for" @echo "t=-: target = host (default)" @echo "t=x: Alpha/OSF1" @echo "t=l: I686/Linux" @echo "t=u: DS5000/Ultrix" @echo "t=v: m68k/VxWorks" @echo "t=a: all targets" @echo "" @echo "Supported host/target combinations:" @echo "h/t - x l u v a" @echo "- * * * * * *" @echo "x * * - - - -" @echo "l * - * - * -" @echo "u * - - * * -" @echo "" help: @echo "" @echo "Usage:" @echo "make $(PNAM) h=<h> t=<t> (build program $(TNAM))" @echo "make install h=<h> t=<t> (install program $(TNAM))" @echo "make clean h=<h> t=<t> (clean program $(TNAM))" @echo "make all h=<h> t=<t> (build, install, clean)" @echo "make info (build INFO files)" @echo "<h>: host system to make program $(TNAM) on" @echo "h=-: find applicable host (default)" @echo "h=x: Alpha/OSF1" @echo "h=l: I686/Linux" @echo "h=u: DS5000/Ultrix" @echo "<t>: target system to make program $(TNAM) for" @echo "t=-: target = host (default)" @echo "t=x: Alpha/OSF1" @echo "t=l: I686/Linux" @echo "t=u: DS5000/Ultrix" @echo "t=v: m68k/VxWorks" @echo "t=a: all targets" @echo "" @echo "Supported host/target combinations:" @echo "h/t - x l u v a" @echo "- * * * * * *" @echo "x * * - - - -" @echo "l * - * - * -" @echo "u * - - * * -" @echo "" #