git test
[linuxvod.git] / inc.Makefile
blobd69e0d5d2af5737603a779a0ed8a600a14ea064e
1 CC     = $(CROSS_COMPILE)gcc
2 CPP    = $(CROSS_COMPILE)g++
3 LD     = $(CROSS_COMPILE)gcc
4 AR     = $(CROSS_COMPILE)ar
5 RANLIB = $(CROSS_COMPILE)ranlib
7 INCS +=-Wundef -Wall -pipe -Os
8 #INCS +=-Werror -Wundef -Wall -pipe -Os
9 CFLAGS += $(INCS) $(CPPFLAGS)
11 OBJS=$(addprefix objects/, $(addsuffix .o, $(basename $(notdir $(SRC)))))
13 ifneq "$(LIB)" ""
14         TARGET=$(LIB)
15 endif
17 all: objects deps subdirs $(OBJS) $(TARGET) $(BIN)
19 # automatic generation of all the rules written by vincent by hand.
20 deps: $(SRC) Makefile
21         @echo "Generating new dependency file...";
22         @-rm -f deps;
23         @for f in $(SRC); do \
24                 OBJ=objects/`basename $$f|sed -e 's/\.cpp/\.o/' -e 's/\.cxx/\.o/' -e 's/\.c/\.o/'`; \
25                 echo $$OBJ: $$f>> deps; \
26                 echo '  $(CC) $$(CFLAGS) -c -o $$@ $$^'>> deps; \
27         done
29 -include ./deps
31 objects: 
32         @mkdir objects
33 .PHONY: madlib
35 $(TARGET): $(OBJS)
36         $(AR) r $@ $(OBJS)
37         $(RANLIB) $@
39 $(BIN): $(OBJS)
40         @ln -s `g++ -print-file-name=libstdc++.a` -f
41         $(LD) $(OBJS) $(LIBS) -o $@
42         @unlink libstdc++.a 
43         
44 subdirs:
45         @list='$(SUBDIRS)'; \
46         for subdir in $$list; do \
47                 echo "Making $$target in $$subdir"; \
48                 cd $$subdir && $(MAKE); \
49                 cd ..; \
50         done;
52 subdirsclean:
53         @list='$(SUBDIRS)'; \
54         for subdir in $$list; do \
55                 echo "Making $$target in $$subdir"; \
56                 cd $$subdir && $(MAKE) clean; \
57                 cd ..; \
58         done;
60 clean: subdirsclean
61         rm -rf $(OBJS) *.o *~ .*swp objects deps $(CLEANFILE) $(BIN) $(TARGET)