Skip to content

Commit

Permalink
Changed the Makefiles so that now also
Browse files Browse the repository at this point in the history
make -j wannier lib
works even when run from the src subdir, without compiling twice every file at the same time.
  • Loading branch information
giovannipizzi committed Apr 15, 2012
1 parent c29222b commit 56f6522
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 38 deletions.
64 changes: 34 additions & 30 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
REALMAKEFILE=../../src/Makefile.2
ifndef ROOTDIR
ROOTDIR=.
endif

REALMAKEFILE=../Makefile.2

default: wannier post

Expand All @@ -7,48 +11,48 @@ all: wannier lib post
doc: thedoc

serialobjs: objdir
(cd src/obj ; make -f $(REALMAKEFILE) serialobjs)
(cd $(ROOTDIR)/src/obj ; make -f $(REALMAKEFILE) serialobjs)

wannier: objdir serialobjs
(cd src/obj ; make -f $(REALMAKEFILE) wannier)
(cd $(ROOTDIR)/src/obj ; make -f $(REALMAKEFILE) wannier)

lib: objdir serialobjs
(cd src/obj ; make -f $(REALMAKEFILE) libs)
(cd $(ROOTDIR)/src/obj ; make -f $(REALMAKEFILE) libs)

libs: lib

post: objdirp
(cd src/objp ; make -f $(REALMAKEFILE) post)
(cd $(ROOTDIR)/src/objp ; make -f $(REALMAKEFILE) post)

clean:
rm -f *~
rm -f src/*~
@( if [ -d src/obj ] ; \
then cd src/obj ; \
make -f $(REALMAKEFILE) clean ; \
cd ../ ; rm -rf obj ; cd ../ ; \
fi ; \
if [ -d src/objp ] ; \
then cd src/objp ; \
make -f $(REALMAKEFILE) clean ; \
cd ../ ; rm -rf objp ; cd ../ ; \
cd $(ROOTDIR) && rm -f *~
cd $(ROOTDIR) && rm -f src/*~
@( cd $(ROOTDIR) && if [ -d src/obj ] ; \
then cd src/obj && \
make -f $(REALMAKEFILE) clean && \
cd ../ && rm -rf obj ; \
fi )
@( cd $(ROOTDIR) && if [ -d src/objp ] ; \
then cd src/objp && \
make -f $(REALMAKEFILE) clean && \
cd ../ && rm -rf objp ; \
fi )
make -C tests clean
make -C doc/user_guide clean
make -C doc/tutorial clean
make -C $(ROOTDIR)/tests clean
make -C $(ROOTDIR)/doc/user_guide clean
make -C $(ROOTDIR)/doc/tutorial clean

veryclean: clean
rm -f wannier90.x postw90.x libwannier.a ; \
cd doc ; rm -f user_guide.pdf tutorial.pdf ; \
cd user_guide ; rm -f user_guide.ps ; \
cd ../tutorial ; rm -f tutorial.ps
cd $(ROOTDIR) && rm -f wannier90.x postw90.x libwannier.a
cd $(ROOTDIR)/doc && rm -f user_guide.pdf tutorial.pdf
cd $(ROOTDIR)/doc/user_guide && rm -f user_guide.ps
cd $(ROOTDIR)/doc/tutorial && rm -f tutorial.ps

thedoc:
cd doc/user_guide ; make guide ; \
cd ../tutorial ; make tutorial
cd $(ROOTDIR)/doc/user_guide && make guide
cd $(ROOTDIR)/doc/tutorial && make tutorial

dist:
@(tar cf - \
@(cd $(ROOTDIR) && tar cf - \
./src/*.?90 \
./src/postw90/*.?90 \
./tests/run_test.pl \
Expand Down Expand Up @@ -100,10 +104,10 @@ dist:
./wannier90.tar.gz)

test: default
(cd tests ; make test )
(cd $(ROOTDIR)/tests && make test )

dist-lite:
@(tar cf - \
@(cd $(ROOTDIR) && tar cf - \
./src/*.?90 \
./tests/run_test.pl \
./tests/test*/wannier.win \
Expand All @@ -122,12 +126,12 @@ dist-lite:
./wannier90.tar.gz)

objdir:
@( if [ ! -d src/obj ] ; \
@( cd $(ROOTDIR) && if [ ! -d src/obj ] ; \
then mkdir src/obj ; \
fi ) ;

objdirp:
@( if [ ! -d src/objp ] ; \
@( cd $(ROOTDIR) && if [ ! -d src/objp ] ; \
then mkdir src/objp ; \
fi ) ;

Expand Down
10 changes: 2 additions & 8 deletions src/Makefile
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
RUNDIR=..

TARGETS=default all doc wannier lib libs post clean veryclean thedoc dist test dist-lite objdir objdirp

$(TARGETS):
make -C $(RUNDIR) $@

.PHONY: $(TARGETS)
ROOTDIR=..

include ../Makefile

0 comments on commit 56f6522

Please sign in to comment.