diff options
author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2001-07-15 13:16:47 +0000 |
---|---|---|
committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2001-07-15 13:16:47 +0000 |
commit | 112a72ce805e2f66850ca1f1932924b0cc6fd670 (patch) | |
tree | 221efaff139ebfd590fa71c4d589dab8c3e0824e /Makefile.common | |
parent | 739a56d26ddd76f7d073745d8be25c53cf39dce5 (diff) | |
download | external_llvm-112a72ce805e2f66850ca1f1932924b0cc6fd670.zip external_llvm-112a72ce805e2f66850ca1f1932924b0cc6fd670.tar.gz external_llvm-112a72ce805e2f66850ca1f1932924b0cc6fd670.tar.bz2 |
Changed default to building library archives instead of shared objects.
Added support for compiling *.c files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Makefile.common')
-rw-r--r-- | Makefile.common | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/Makefile.common b/Makefile.common index 5755ece..027c4b6 100644 --- a/Makefile.common +++ b/Makefile.common @@ -77,6 +77,7 @@ Depend = $(CXX) -MM -I$(LEVEL)/include $(CPPFLAGS) # Archive a bunch of .o files into a .a file... AR = ar cq +MakeLib = $(AR) #---------------------------------------------------------- @@ -85,7 +86,8 @@ AR = ar cq ifndef Source Source = $(wildcard *.cpp *.c *.y *.l) endif -Objs = $(sort $(addsuffix .o,$(basename $(Source)))) + +Objs = $(addsuffix .o,$(basename $(Source))) ObjectsO = $(addprefix Release/,$(Objs)) ObjectsG = $(addprefix Debug/,$(Objs)) @@ -108,11 +110,13 @@ endif #--------------------------------------------------------- ifdef LIBRARYNAME + LIBNAME_O := Release/lib$(LIBRARYNAME).so LIBNAME_G := Debug/lib$(LIBRARYNAME).so +LIBNAME_AO := Release/lib$(LIBRARYNAME).a +LIBNAME_AG := Debug/lib$(LIBRARYNAME).a -all:: $(LIBNAME_G) -#$(LIBNAME_O) +all:: $(LIBNAME_AG) # TODO: Enable optimized builds $(LIBNAME_O): $(ObjectsO) $(LibSubDirs) Release/.dir Depend/.dir @@ -123,22 +127,42 @@ $(LIBNAME_G): $(ObjectsG) $(LibSubDirs) Debug/.dir Depend/.dir @echo ======= Linking $(LIBRARYNAME) debug library ======= $(MakeSOG) -o $@ $(ObjectsG) $(LibSubDirs) $(LibLinkOpts) +$(LIBNAME_AO): $(ObjectsO) $(LibSubDirs) Release/.dir Depend/.dir + @echo ======= Linking $(LIBRARYNAME) release library ======= + rm -f $@ + $(MakeLib) $@ $(ObjectsO) $(LibSubDirs) + +$(LIBNAME_AG): $(ObjectsG) $(LibSubDirs) Debug/.dir Depend/.dir + @echo ======= Linking $(LIBRARYNAME) debug library ======= + rm -f $@ + $(MakeLib) $@ $(ObjectsG) $(LibSubDirs) + endif #--------------------------------------------------------- -# Create dependacies for the cpp files... +# Create dependencies for the *.cpp files... Depend/%.d: %.cpp Depend/.dir $(Depend) $< | sed 's|$*\.o *|Release/& Debug/& Depend/$(@F)|g' > $@ -# Create .o files in the ObjectFiles directory from the .cpp files... +# Create dependencies for the *.c files... +Depend/%.d: %.c Depend/.dir + $(Depend) $< | sed 's|$*\.o *|Release/& Debug/& Depend/$(@F)|g' > $@ + +# Create .o files in the ObjectFiles directory from the .cpp and .c files... Release/%.o: %.cpp Release/.dir Depend/.dir $(CompileO) $< -o $@ +Release/%.o: %.c Release/.dir Depend/.dir + $(CompileO) $< -o $@ + Debug/%.o: %.cpp Debug/.dir Depend/.dir $(CompileG) $< -o $@ +Debug/%.o: %.c Debug/.dir Depend/.dir + $(CompileG) $< -o $@ + # Create a .cpp source file from a flex input file... this uses sed to cut down # on the warnings emited by GCC... %.cpp: %.l |