LLVM passes: centralize Makefile structure

Make the passes we have so far, hello and WeakAliasModuleOverride,
use settings from a Makefile include file in the parent directory.
This change is in preparation of adding other passes.

Change-Id: Ib195ee7f5c7626f4975368b02c944382e87e3814
This commit is contained in:
David van Moolenbroek 2015-08-31 16:46:42 +02:00
parent 63a89582ab
commit 3956ee9eed
3 changed files with 39 additions and 48 deletions

View file

@ -4,3 +4,36 @@
# This files is used with gmake, so do NOT add .include "..."
#
LLVMPREFIX?=../../../../../obj_llvm.i386/Release+Asserts
CFLAGS += -D__MINIX -D_MINIX_SYSTEM
INCLUDES += -I../../include
QUIET=@
ECHO=echo
CP=cp
PASSLIBNAME = $(PASSNAME).so
LLVM_VERSION=$(shell ($(LLVMPREFIX)/bin/llvm-config --version | sed "s/[^0-9]//g"))
CFLAGS += -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -DHAVE_EXCEPTIONS=0
CFLAGS += $(shell $(LLVMPREFIX)/bin/llvm-config --cxxflags) -g -DLLVM_VERSION=$(LLVM_VERSION)
LDFLAGS += $(shell $(LLVMPREFIX)/bin/llvm-config --ldflags)
INCLUDES += -I../include
all: $(PASSLIBNAME)
$(PASSLIBNAME): $(OBJS)
$(QUIET) $(ECHO) " [LINK] $@"
$(QUIET) $(CXX) $(CFLAGS) -shared -o $@ $(CPPS) $(OBJS) $(LDFLAGS) $(LIBS)
%.o: %.cpp $(HEADERS)
$(QUIET) $(ECHO) " [C++] $<"
$(QUIET) $(CXX) $(CFLAGS) $(INCLUDES) -c -o $@ $<
install: $(PASSLIBNAME)
$(QUIET) -mkdir -p ../../bin
$(QUIET) $(CP) $(PASSLIBNAME) ../../bin/$(PASSLIBNAME)
clean:
-rm -f $(OBJS) $(PASSLIBNAME)

View file

@ -1,28 +1,7 @@
include ../Makefile.inc
QUIET=@
ECHO=echo
CP=cp
PASSNAME:= weak-alias-module-override
PASSLIBNAME:= weak-alias-module-override.so
LLVM_VERSION = $($LLVMPREFIX/bin/llvm-config --version | sed "s/[^0-9]//g")
CFLAGS += -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -DHAVE_EXCEPTIONS=0
CFLAGS += $(shell $(LLVMPREFIX)/bin/llvm-config --cxxflags) -g -DLLVM_VERSION=$(LLVM_VERSION)
LDFLAGS += $(shell $(LLVMPREFIX)/bin/llvm-config --ldflags)
OBJS= WeakAliasModuleOverride.o
HEADERS=
$(PASSLIBNAME): $(OBJS)
$(QUIET) $(ECHO) " [LINK] $@"
$(QUIET) $(CXX) $(CFLAGS) -shared -o $@ $(CPPS) $(OBJS) $(LDFLAGS) $(LIBS)
%.o: %.cpp $(HEADERS)
$(QUIET) $(ECHO) " [C++] $<"
$(QUIET) $(CXX) $(CFLAGS) $(INCLUDES) -c -o $@ $<
install: $(PASSLIBNAME)
$(QUIET) -mkdir -p ../../bin
$(QUIET) $(CP) $(PASSLIBNAME) ../../bin/$(PASSLIBNAME)
clean:
-rm -f *.o *.so
include ../Makefile.inc

View file

@ -1,28 +1,7 @@
include ../Makefile.inc
QUIET=@
ECHO=echo
CP=cp
PASSNAME:= hello
PASSLIBNAME:= hello.so
LLVM_VERSION=$(shell ($(LLVMPREFIX)/bin/llvm-config --version | sed "s/[^0-9]//g"))
CFLAGS += -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -DHAVE_EXCEPTIONS=0
CFLAGS += $(shell $(LLVMPREFIX)/bin/llvm-config --cxxflags) -g -DLLVM_VERSION=$(LLVM_VERSION)
LDFLAGS += $(shell $(LLVMPREFIX)/bin/llvm-config --ldflags)
OBJS= hello.o
HEADERS=
$(PASSLIBNAME): $(OBJS)
$(QUIET) $(ECHO) " [LINK] $@"
$(QUIET) $(CXX) $(CFLAGS) -shared -o $@ $(CPPS) $(OBJS) $(LDFLAGS) $(LIBS)
%.o: %.cpp $(HEADERS)
$(QUIET) $(ECHO) " [C++] $<"
$(QUIET) $(CXX) $(CFLAGS) -c -o $@ $<
install: $(PASSLIBNAME)
$(QUIET) -mkdir -p ../../bin
$(QUIET) $(CP) $(PASSLIBNAME) ../../bin/$(PASSLIBNAME)
clean:
-rm -f *.o *.so
include ../Makefile.inc