diff --git a/msvc/Makefile b/msvc/Makefile index e8d02d9ed..d6fe218e7 100755 --- a/msvc/Makefile +++ b/msvc/Makefile @@ -18,7 +18,7 @@ SOFTWARE_VERSION = 5.0 THEHOST = win32 # Define to 1 to make a 64-bit build -ECL_WIN64 = +# ECL_WIN64 = # Define here the processor type to compile GMP library # with maximum optimization. Possible values are: diff --git a/msvc/c/Makefile b/msvc/c/Makefile index 9bf43bb12..ce618d082 100755 --- a/msvc/c/Makefile +++ b/msvc/c/Makefile @@ -14,7 +14,7 @@ ECL_FPE_CODE=fpe_x86.c !if "$(ECL_THREADS)" != "" ECL_THREADS_FLAG=1 -THREADS_OBJ= threads/process.obj threads/mutex.obj threads/condition_variable.obj +THREADS_OBJ= process.obj mutex.obj condition_variable.obj rwlock.obj !else ECL_THREADS_FLAG=0 THREADS_OBJ= @@ -57,7 +57,7 @@ libdir=$(prefix)\lib\ecl # Files HDIR = $(top_srcdir)\h -HFILES = ..\ecl\config.h $(HDIR)\ecl.h $(HDIR)\ecl-cmp.h\ +HFILES = ..\ecl\config.h ..\ecl\atomic_ops.h $(HDIR)\ecl.h $(HDIR)\ecl-cmp.h\ $(HDIR)\object.h $(HDIR)\cs.h $(HDIR)\stacks.h\ $(HDIR)\external.h $(HDIR)\eval.h\ $(HDIR)\number.h $(HDIR)\page.h $(HDIR)\unify.h\ @@ -68,24 +68,25 @@ OBJS = main.obj symbol.obj package.obj list.obj\ apply.obj eval.obj interpreter.obj compiler.obj disassembler.obj \ instance.obj gfun.obj reference.obj character.obj\ file.obj read.obj print.obj error.obj string.obj cfun.obj\ - reader/parse_integer.o reader/parse_number.o \ - printer/float_to_digits.o printer/float_to_string.o \ - printer/integer_to_string.o printer/write_ugly.o \ - printer/write_object.o printer/write_symbol.o \ - printer/write_array.o printer/write_list.o printer/write_code.o \ - printer/write_sse.o printer/print_unreadable.o \ - ffi/libraries.o \ + parse_integer.obj parse_number.obj \ + float_to_digits.obj float_to_string.obj \ + integer_to_string.obj write_ugly.obj \ + write_object.obj write_symbol.obj \ + write_array.obj write_list.obj write_code.obj \ + write_sse.obj print_unreadable.obj \ + libraries.obj backtrace.obj \ + cos.obj sin.obj tan.obj atan.obj \ + cosh.obj sinh.obj tanh.obj \ + exp.obj expt.obj log.obj \ + sqrt.obj abs.obj \ + zerop.obj plusp.obj minusp.obj \ + negate.obj conjugate.obj \ + one_plus.obj one_minus.obj \ + plus.obj minus.obj times.obj divide.obj \ + number_compare.obj number_equalp.obj minmax.obj \ typespec.obj assignment.obj \ - numbers/cos.o numbers/sin.o numbers/tan.o numbers/atan.o \ - numbers/cosh.o numbers/sinh.o numbers/tanh.o \ - numbers/exp.o numbers/expt.o numbers/log.o \ - numbers/sqrt.o numbers/abs.o \ - numbers/zerop.o numbers/plusp.o numbers/minusp.o \ - numbers/negate.o numbers/conjugate.o \ - numbers/one_plus.o numbers/one_minus.o \ - numbers/plus.o numbers/minus.o numbers/times.o numbers/divide.o \ predicate.obj big.obj number.obj\ - num_pred.obj num_comp.obj num_arith.obj num_sfun.obj num_co.obj\ + num_pred.obj num_arith.obj num_co.obj\ num_log.obj num_rand.obj array.obj sequence.obj cmpaux.obj\ macros.obj backq.obj stacks.obj \ time.obj unixint.obj\ @@ -100,9 +101,18 @@ all: $(DPP) ..\eclmin.lib ..\cinit.obj {$(srcdir:\=/)}.d{}.c: $(DPP) $< $@ - {$(srcdir:\=/)/arch}.d{}.c: $(DPP) $< $@ +{$(srcdir:\=/)/reader}.d{}.c: + $(DPP) $< $@ +{$(srcdir:\=/)/printer}.d{}.c: + $(DPP) $< $@ +{$(srcdir:\=/)/ffi}.d{}.c: + $(DPP) $< $@ +{$(srcdir:\=/)/numbers}.d{}.c: + $(DPP) $< $@ +{$(srcdir:\=/)/threads}.d{}.c: + $(DPP) $< $@ #.d.c: # $(DPP) $< $@ @@ -127,20 +137,26 @@ clean: do $(RM) %f -for %f in (..\ecl\*.h) do $(RM) %f -for %f in (cut.exe cut.obj dpp.exe dpp.obj) do $(RM) %f + -del /S /Q ..\ecl\atomic* # Build rules $(DPP): $(srcdir)/dpp.c $(srcdir)/symbols_list2.h ../ecl/config.h $(TRUE_CC) -I.. -I./ $(srcdir)/dpp.c -o $@ -../ecl/config.h: ../ecl/config.h.msvc6 Makefile - -mkdir ecl\impl - for %i in ($(HFILES)) do $(CP) %i ..\ecl\%i +$(HFILES): ../ecl/config.h.msvc6 Makefile + -mkdir ..\ecl\impl cut.exe "@ECL_FPE_CODE@" "$(srcdir:\=/)/arch/$(ECL_FPE_CODE)" \ "@ECL_VERSION_NUMBER@" "$(ECL_VERSION_NUMBER)" \ "@ECL_THREADS@" "$(ECL_THREADS_FLAG)" \ "@ECL_UNICODE@" "$(ECL_UNICODE_FLAG)" \ "@ECL_SSE2@" "$(ECL_SSE_FLAG)" \ < ..\ecl\config.h.msvc6 > $@ + xcopy /SYI $(top_srcdir)\h\* ..\ecl + -mkdir ..\ecl\atomic_ops + -mkdir ..\ecl\atomic_ops\sysdeps + xcopy /SYI $(top_srcdir)\gc\libatomic_ops-1.2\src\atomic_ops.h ..\ecl + xcopy /SYI $(top_srcdir)\gc\libatomic_ops-1.2\src\atomic_ops\generalize*.h ..\ecl\atomic_ops + xcopy /SYI $(top_srcdir)\gc\libatomic_ops-1.2\src\atomic_ops\sysdeps\* ..\ecl\atomic_ops\sysdeps # # GCC might break this code