diff options
Diffstat (limited to 'src/utils/Makefile.in')
-rw-r--r-- | src/utils/Makefile.in | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/src/utils/Makefile.in b/src/utils/Makefile.in index b3adb6b9..4f43e115 100644 --- a/src/utils/Makefile.in +++ b/src/utils/Makefile.in @@ -40,9 +40,18 @@ libOpenAxiom_HEADERS = storage.H hash-table.H string-pool.H sexpr.H libOpenAxiom_SOURCES = storage.cc string-pool.cc sexpr.cc libOpenAxiom_OBJECTS = $(libOpenAxiom_SOURCES:.cc=.lo) +oa_public_headers = storage hash-table string-pool sexpr + +## Where we store public header files +oa_target_headerdir = $(oa_target_includedir)/open-axiom + +oa_include_flags = -I. -I$(oa_target_includedir) -I$(top_builddir)/config + .PHONY: all all-ax all-utils .SUFFIXES: -.SUFFIXES: .cc .H $(OBJEXT) $(LIBEXT) +.SUFFIXES: .cc .H .$(OBJEXT) .$(LIBEXT) +.PRECIOUS: %.lo %.$(OBJEXT) + all: all-ax @@ -52,9 +61,23 @@ stamp: libOpenAxiom.$(LIBEXT) hammer$(EXEEXT) -rm -f stamp $(STAMP) stamp -.SUFFIXES: -.SUFFIXES: .c .h .lo .$(OBJEXT) -.PRECIOUS: %.lo %.obj +stamp-headers: $(libOpenAxiom_HEADERS) Makefile + rm -f stamp-headers + if [ ! -d $(oa_target_headerdir) ]; then \ + mkdir -p -- $(oa_target_headerdir) || exit 1; \ + fi ; \ + c1=$(top_builddir)/config/openaxiom-c-macros.h; \ + c2=$(oa_target_headerdir)/config; \ + if [ ! -r $$c2 ] || ! cmp -s $$c1 $$c2 ; then \ + cp -p $$c1 $$c2; \ + fi ; \ + for h in $(oa_public_headers); do \ + f1=$(srcdir)/$$h.H; f2=$(oa_target_headerdir)/$$h; \ + if [ ! -r $$f2 ] || ! cmp -s $$f1 $$f2 ; then \ + cp -p $$f1 $$f2; \ + fi; \ + done ; \ + $(STAMP) stamp-headers hammer$(EXEEXT): $(hammer_OBJECTS) libOpenAxiom.$(LIBEXT) $(CXXLINK) -o $@ $(hammer_OBJECTS) $(hammer_LDADD) $(LDFLAGS) @@ -62,12 +85,13 @@ hammer$(EXEEXT): $(hammer_OBJECTS) libOpenAxiom.$(LIBEXT) libOpenAxiom.$(LIBEXT): $(libOpenAxiom_OBJECTS) $(CXXLINK) -o $@ $(libOpenAxiom_OBJECTS) -%.lo: %.cc $(libOpenAxiom_HEADERS) - $(CXXCOMPILE) ${CXXFLAGS} -I. -I$(top_builddir)/config -o $@ $< +%.lo: %.cc stamp-headers + $(CXXCOMPILE) ${CXXFLAGS} $(oa_include_flags) -o $@ $< mostlyclean-local: @rm -rf .libs + @rm -rf $(oa_include_headerdir) stamp-headers @rm -f $(libOpenAxiom_OBJECTS) @rm -f *~ core |