xref: /minix/minix/llvm/passes/Makefile.inc (revision e1cdaee1)
1# This file is not part of the regular Makefile.inc
2# It is used from the LLVM build system, when compiling the passes.
3#
4# This files is used with gmake, so do NOT add .include "..."
5#
6LLVMPREFIX?=../../../../../obj_llvm.i386/Release+Asserts
7
8CFLAGS += -D__MINIX -D_MINIX_SYSTEM -DDEBUG_TYPE=\""$PASSNAME"\"
9INCLUDES += -I../../include
10
11QUIET=@
12ECHO=echo
13CP=cp
14
15PASSLIBNAME = $(PASSNAME).so
16
17LLVM_VERSION=$(shell ($(LLVMPREFIX)/bin/llvm-config --version | sed "s/[^0-9]//g"))
18CFLAGS  += -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -DHAVE_EXCEPTIONS=0
19CFLAGS  += $(shell $(LLVMPREFIX)/bin/llvm-config --cxxflags) -g -DLLVM_VERSION=$(LLVM_VERSION)
20LDFLAGS += $(shell $(LLVMPREFIX)/bin/llvm-config --ldflags)
21
22INCLUDES += -I../include
23
24all: $(PASSLIBNAME)
25
26$(PASSLIBNAME): $(OBJS)
27	$(QUIET) $(ECHO) "  [LINK] $@"
28	$(QUIET) $(CXX) $(CFLAGS) -shared -o $@ $(CPPS) $(OBJS) $(LDFLAGS) $(LIBS)
29
30%.o: %.cpp $(HEADERS)
31	$(QUIET) $(ECHO)  "  [C++] $<"
32	$(QUIET) $(CXX) $(CFLAGS) $(INCLUDES) -c -o $@ $<
33
34install: $(PASSLIBNAME)
35	$(QUIET) -mkdir -p ../../bin
36	$(QUIET) $(CP) $(PASSLIBNAME) ../../bin/$(PASSLIBNAME)
37
38clean:
39	-rm -f $(OBJS) $(PASSLIBNAME)
40