diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2019-07-19 20:42:38 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2019-07-19 20:42:38 +0300 |
commit | 4a08ae9834b3e0521ea2d1253abd6e780ce99c1a (patch) | |
tree | ffda727be7d821a24d82d60112f74c47b46f7484 /WCC_MAKEFILE | |
parent | 64706a08ec4cdc07160e4bc3f0ece7874f663458 (diff) | |
download | bdwgc-4a08ae9834b3e0521ea2d1253abd6e780ce99c1a.tar.gz |
Build gccpp library by Makefile.direct, NT_MAKEFILE and WCC_MAKEFILE
* Makefile.direct: Update header comment about all, gc.a (base_lib),
c++, check, check-cpp targets.
* Makefile.direct (CXX): Refine comment.
* Makefile.direct (all): Depend also on c++.
* Makefile.direct (bsd-libgccpp.a): New target (duplicates bsd-libgc.a
one).
* Makefile.direct (bsd-libgc.a): Add a rename of gccpp.a to
bsd-libgccpp.a.
* Makefile.direct (BSD-pkg-install): Copy bsd-libgccpp.a file to
libgccpp.a, install the latter one.
* Makefile.direct (test_cpp): Depend on c++ instead of gc_cpp.o; pass
gccpp.a (instead of gc_cpp.o) to $(CXX).
* Makefile.direct (gccpp.a): New target (duplicates c++ one).
* Makefile.direct (c++): Do not depend on gc_cpp.h and base_lib;
create gccpp.a instead of updating gc.a.
* Makefile.direct (clean): Delete *.a files instead of gc.a.
* Makefile.direct (check): Depend also on test_cpp$(EXEEXT); run also
test_cpp.
* NT_MAKEFILE (LINK_GC, LINK_DLL_FLAGS): Remove variable.
* NT_MAKEFILE (OBJS): Remove gc_cpp.obj.
* NT_MAKEFILE (all, test_cpp.exe): Depend also on gccpp.lib.
* WCC_MAKEFILE (all, test_cpp.exe): Likewise.
* NT_MAKEFILE (gccpp.lib): New target (depending on gc_cpp.obj).
* WCC_MAKEFILE (gccpp.lib): Likewise.
* WCC_MAKEFILE [MAKE_AS_DLL] (gccpp.dll): Likewise.
* NT_MAKEFILE (test_cpp.exe): Pass gccpp.lib to $(link).
* WCC_MAKEFILE [MAKE_AS_LIB] (MAKE_AS_LIB): Set to -DGC_NOT_DLL.
* WCC_MAKEFILE (gc.lib): Do not depend gc_cpp.obj.
* WCC_MAKEFILE [MAKE_AS_DLL] (gc.lib): Do not add gc_cpp.obj to gc.lib.
* WCC_MAKEFILE [MAKE_AS_DLL] (gc.dll): Specify "op case".
Diffstat (limited to 'WCC_MAKEFILE')
-rw-r--r-- | WCC_MAKEFILE | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/WCC_MAKEFILE b/WCC_MAKEFILE index c03b12e7..fa929294 100644 --- a/WCC_MAKEFILE +++ b/WCC_MAKEFILE @@ -59,7 +59,7 @@ DLLFLAG=-bd -DGC_DLL TEST_DLLFLAG=-DGC_DLL !else ifdef MAKE_AS_LIB DLLFLAG= -TEST_DLLFLAG= +TEST_DLLFLAG=-DGC_NOT_DLL !else !error Either MAKE_AS_LIB or MAKE_AS_DLL should be defined !endif @@ -78,7 +78,7 @@ OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj & dbg_mlc.obj malloc.obj dyn_load.obj & typd_mlc.obj ptr_chck.obj mallocx.obj fnlz_mlc.obj gcj_mlc.obj -all: gc.lib +all: gc.lib gccpp.lib check: gctest.exe test_cpp.exe .SYMBOLIC *gctest.exe @@ -86,8 +86,8 @@ check: gctest.exe test_cpp.exe .SYMBOLIC !ifdef MAKE_AS_DLL -gc.lib: gc.dll gc_cpp.obj - *wlib -b -c -n -p=512 $@ +gc.dll +gc_cpp.obj +gc.lib: gc.dll + *wlib -b -c -n -p=512 $@ +gc.dll gc.dll: $(OBJS) .AUTODEPEND @%create $*.lnk @@ -98,13 +98,39 @@ gc.dll: $(OBJS) .AUTODEPEND !else ifdef OS2 @%append $*.lnk sys os2v2_dll !endif + @%append $*.lnk op case @%append $*.lnk name $* @for %i in ($(OBJS)) do @%append $*.lnk file '%i' *wlink @$*.lnk + +gccpp.lib: gccpp.dll + *wlib -b -c -n -p=512 $@ +gccpp.dll + +gccpp.dll: gc_cpp.obj gc.lib .AUTODEPEND + @%create $*.lnk +!ifdef DOS4GW + @%append $*.lnk sys os2v2_dll +!else ifdef MSWIN32 + @%append $*.lnk sys nt_dll +!else ifdef OS2 + @%append $*.lnk sys os2v2_dll +!endif + @%append $*.lnk op case + @%append $*.lnk name $* + @%append $*.lnk file 'gc_cpp.obj' + @%append $*.lnk library gc.lib + @%append $*.lnk library wr7$(CALLING)dll.lib + *wlink @$*.lnk + !else -gc.lib: $(OBJS) gc_cpp.obj + +gc.lib: $(OBJS) @%create $*.lb1 @for %i in ($(OBJS)) do @%append $*.lb1 +'%i' + *wlib -b -c -n -p=512 $@ @$*.lb1 + +gccpp.lib: gc_cpp.obj + @%create $*.lb1 @%append $*.lb1 +'gc_cpp.obj' *wlib -b -c -n -p=512 $@ @$*.lb1 @@ -126,7 +152,8 @@ gctest.exe: test.obj gc.lib @%append $*.lnk file test.obj @%append $*.lnk library gc.lib *wlink @$*.lnk -test_cpp.exe: test_cpp.obj gc.lib + +test_cpp.exe: test_cpp.obj gc.lib gccpp.lib %create $*.lnk !ifdef DOS4GW @%append $*.lnk sys dos4g @@ -140,6 +167,7 @@ test_cpp.exe: test_cpp.obj gc.lib @%append $*.lnk name $* @%append $*.lnk file test_cpp.obj @%append $*.lnk library gc.lib + @%append $*.lnk library gccpp.lib *wlink @$*.lnk gc_cpp.obj: gc_cpp.cc .AUTODEPEND @@ -155,7 +183,7 @@ test_cpp.obj: tests\test_cpp.cc .AUTODEPEND .cc.obj: .AUTODEPEND $(CXX) $(CXXFLAGS) $*.cc -clean : .SYMBOLIC +clean: .SYMBOLIC @if exist *.obj del *.obj @if exist *.map del *.map @if exist *.lnk del *.lnk |