Commit 2a144148 authored by Marius Gerbershagen's avatar Marius Gerbershagen
Browse files

Merge branch 'makefile-h-files' into develop

parents c6467991 f914171e
......@@ -83,19 +83,7 @@ endif
%Makefile: $(srcdir)/%Makefile.in config.status
./config.status
#
# When compiling the library itself, we have to remove the dllimport
# declarations, because the variables that they mark are in the
# in the library and can be referenced without indirection.
#
c/ecl/external.h: $(top_srcdir)/h/external.h
test -d c/ecl || mkdir c/ecl
sed 's,__declspec(dllimport),,g' $(top_srcdir)/h/external.h > $@
ecl/external.h: c/ecl/external.h c/ecl/external.h
cp -rf $(srcdir)/h/*.h $(srcdir)/h/impl ecl/
bin/$(ECL): $(ECL_MIN) compile.lsp ecl/external.h build-stamp $(top_srcdir)/lsp/*.lsp $(top_srcdir)/clos/*.lsp $(top_srcdir)/*cmp/*.lsp
bin/$(ECL): $(ECL_MIN) compile.lsp build-stamp $(top_srcdir)/h/*.h $(top_srcdir)/h/impl/*.h $(top_srcdir)/lsp/*.lsp $(top_srcdir)/clos/*.lsp $(top_srcdir)/*cmp/*.lsp
if [ -f CROSS-COMPILER ]; then \
./CROSS-COMPILER compile; \
else \
......@@ -139,7 +127,7 @@ libeclgmp.a:
fi
# final objects archive
libeclmin.a: libeclgmp.a libeclatomic.a libeclgc.a libeclffi.a lsp/config.lsp $(ECL_CMPDIR)/cmpdefs.lsp ecl/external.h
libeclmin.a: libeclgmp.a libeclatomic.a libeclgc.a libeclffi.a lsp/config.lsp $(ECL_CMPDIR)/cmpdefs.lsp
@echo "Building $@..."
cd c; $(MAKE)
......
......@@ -40,12 +40,16 @@ includedir=@includedir@
# Files
HDIR = ../ecl
HFILES = $(HDIR)/config.h $(HDIR)/ecl.h $(HDIR)/ecl-cmp.h \
HFILES = $(HDIR)/config.h $(HDIR)/ecl.h $(HDIR)/ecl-cmp.h \
$(HDIR)/object.h $(HDIR)/cs.h $(HDIR)/stacks.h \
$(HDIR)/external.h $(HDIR)/cons.h $(HDIR)/legacy.h \
$(HDIR)/number.h $(HDIR)/page.h
$(HDIR)/number.h $(HDIR)/page.h $(HDIR)/bytecodes.h \
$(HDIR)/cache.h $(HDIR)/config-internal.h $(HDIR)/ecl_atomics.h \
$(HDIR)/ecl-inl.h $(HDIR)/internal.h $(HDIR)/stack-resize.h \
$(HDIR)/impl/math_dispatch2.h $(HDIR)/impl/math_dispatch.h \
$(HDIR)/impl/math_fenv.h $(HDIR)/impl/math_fenv_msvc.h
CLOS_OBJS = clos/cache.o clos/accessor.o clos/instance.o clos/gfun.o
OBJS = main.o symbol.o package.o cons.o list.o apply.o eval.o \
OBJS = main.o symbol.o package.o cons.o list.o apply.o eval.o \
interpreter.o compiler.o disassembler.o $(CLOS_OBJS) \
reference.o character.o file.o read.o print.o error.o \
string.o cfun.o reader/parse_integer.o reader/parse_number.o \
......@@ -72,7 +76,6 @@ OBJS = main.o symbol.o package.o cons.o list.o apply.o eval.o \
unixfsys.o unixsys.o serialize.o ffi.o sse2.o @EXTRA_OBJS@ \
threads/atomic.o
.SUFFIXES: .c .o .d .s
.PHONY: all
ifndef VERBOSE
......@@ -81,16 +84,20 @@ endif
all: $(DPP) ../libeclmin.a ../cinit.o
.d.c: $(DPP)
$(HDIR)/%.h: $(top_srcdir)/h/%.h
cp $< $@
$(HDIR)/impl/%.h: $(top_srcdir)/h/impl/%.h
mkdir -p $(HDIR)/impl
cp $< $@
%.c: %.d $(DPP)
if test -f ../CROSS-DPP ; then ../CROSS-DPP $< $@ ; else $(DPP) $< $@ ; fi
.d.o: $(DPP)
%.o: %.d $(DPP) $(HFILES)
if test -f ../CROSS-DPP ; then ../CROSS-DPP $< $@.c ; else $(DPP) $< $@.c ; fi
$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -o $@ $@.c
.c.o: $(HFILES)
%.o: %.c $(HFILES)
$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -o $@ $<
# .d.s: $(HFILES)
# if test -f ../CROSS-DPP ; then ../CROSS-DPP $< $@.c ; else $(DPP) $< $@.c ; fi
# $(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -S -o $@ $@.c
../libeclmin.a: $(OBJS) all_symbols.o all_symbols2.o
$(RM) $@
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment