[WIN32] fixed some _WIN32PC leftovers.
[xbmc:xbmc.git] / Makefile.include.in
1 AR=ar
2 ARFLAGS=crus
3 RM=rm -rf
4 SHELL=/bin/bash
5 ARCH=@ARCH@
6 abs_top_srcdir=@abs_top_srcdir@
7 prefix=@prefix@
8 CXX=@CXX@
9 CC=@CC@
10 CXXFLAGS+=@CXXFLAGS@
11 CXXFLAGS+=@DEBUG_FLAGS@
12 CFLAGS+=@CFLAGS@
13 CFLAGS+=@DEBUG_FLAGS@
14 INCLUDES+=@INCLUDES@
15 DEFINES+= \
16         -D_LINUX \
17         -D_FILE_DEFINED \
18         -D_REENTRANT \
19         -D_LARGEFILE64_SOURCE \
20         -D_FILE_OFFSET_BITS=64 \
21         -DINSTALL_PATH="\"@prefix@/share/xbmc\"" \
22         @SDL_DEFINES@ \
23         @ARCH_DEFINES@ \
24         @DEFS@ \
25
26 ifeq (linux,$(findstring linux, $(ARCH)))
27 ifeq ($(ARCH), x86_64-linux)
28         DEFINES+=-DDLL_PATH_LIBCURL="\"/usr/lib64/libcurl.so.4\""
29 else
30         DEFINES+=-DDLL_PATH_LIBCURL="\"/usr/lib/libcurl.so.4\""
31 endif
32 endif
33 ifeq ($(findstring osx,$(ARCH)), osx)
34         export MACOSX_DEPLOYMENT_TARGET=10.4
35 endif
36
37 ifeq ($(ARCH), powerpc-osx)
38         BUNDLE1_O=-lbundle1.o
39 endif
40
41 .cpp.o:
42         @rm -f ${<:.cpp=.o}
43         $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.cpp=.o}
44         @cp $*.d $*.P; \
45           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
46               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
47           rm -f $*.d
48
49 .cc.o:
50         @rm -f ${<:.cc=.o}
51         $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.cc=.o}
52         @cp $*.d $*.P; \
53           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
54               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
55           rm -f $*.d
56
57 .c.o:
58         @rm -f ${<:.c=.o}
59         $(CC) -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.c=.o}
60         @cp $*.d $*.P; \
61           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
62               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
63           rm -f $*.d
64
65 .C.o:
66         @rm -f ${<:.C=.o}
67         $(CC) -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.C=.o}
68         @cp $*.d $*.P; \
69           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
70               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
71           rm -f $*.d
72
73 .S.o:
74         rm -f ${<:.S=.o}
75         $(CC) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.S=.o}
76
77 %.h.gch : %.h
78         $(CXX) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
79
80 .m.o:
81         @rm -f ${<:.m=.o}
82         $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.m=.o}
83         @cp $*.d $*.P; \
84           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
85               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
86           rm -f $*.d
87
88 .mm.o:
89         @rm -f ${<:.mm=.o}
90         $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.mm=.o}
91         @cp $*.d $*.P; \
92           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
93               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
94           rm -f $*.d
95
96 OBJS+=$(filter %.o,$(SRCS:.cpp=.o))
97 OBJS+=$(filter %.o,$(SRCS:.c=.o))
98 OBJS+=$(filter %.o,$(SRCS:.S=.o))
99 OBJS+=$(filter %.o,$(SRCS:.mm=.o))
100 OBJS+=$(filter %.o,$(SRCS:.m=.o))
101
102 .PHONY : lib pch clean distclean distclean_evil
103
104 $(LIB): $(OBJS)
105         $(AR) $(ARFLAGS) $(LIB) $(OBJS)
106
107 pch: $(PCH:.h=.h.gch)
108         for d in $(DIRS); do (cd "$$d"; $(MAKE) pch ); done
109
110 clean: 
111         $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(CLEAN_FILES) $(PCH:.h=.h.gch) $(OBJS:.o=.P)
112         for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" clean); fi ); done
113
114 distclean:
115         $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(STATICLIB) $(CLEAN_FILES) $(DISTCLEAN_FILES) $(PCH:.h=.h.gch) $(OBJS:.o=.P)
116         for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" distclean || $(MAKE) -C "$$d" clean); fi ); done
117         if [ "$(shell pwd)" = "$(abs_top_srcdir)" ]; then rm -f $(AUTOGENERATED_MAKEFILES) Makefile.include Makefile; fi