1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
####################################################### # # Generic makefile - Building Multi-targets. # To build all targets separately. # # by Jackie Xie # email: jackie.CPlusPlus@gmail.com # # Copyright (c) 2008 Jackie Xie # All rights reserved. # # No warranty, no liability; # you use this at your own risk. # # You are free to modify and # distribute this without giving # credit to the original author. # ####################################################### OS := $(shell uname -s) CC = gcc RM = rm MAKE = make SOURCE := $(wildcard *.c) $(wildcard *.cc) $(wildcard *.cxx) $(wildcard *.cpp) #TARGET=$(shell target=""; for i in $(SOURCE); do target+=$(echo $i | awk -F"." '{ printf $1}'); target+=" "; done;) CFLAGS = -fno-stack-protector -Wall all: @TARGET=""; for i in $(SOURCE); do TARGET+=$$(echo $$i | awk -F"." '{ printf $$1}'); TARGET+=" "; done; \ for i in $$TARGET; \ do \ #$(CC) -o "$$i" "$$i".c $(CFLAGS); \ $(MAKE) $$i; \ done; clean: ${RM} -f *.o *~ ifeq ($(strip $(OS)),Darwin) ${RM} -f $$(file `find .` | grep "bit executable" | awk '{print $$1}' | sed 's/\.*\://') else ifeq ($(strip $(OS)),Linux) ${RM} -f $$(file `find .` | grep "bit ...* executable" | awk '{print $$1}' | sed 's/\.*\://') endif |
文章標籤
全站熱搜