minix/minix/llvm/passes/Makefile.inc
David van Moolenbroek 3956ee9eed 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
2015-09-17 13:56:41 +00:00

40 lines
1.1 KiB
Makefile

# This file is not part of the regular Makefile.inc
# It is used from the LLVM build system, when compiling the passes.
#
# 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)