aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvincent.del.medico <vincent.del.medico@gmail.com>2011-06-11 10:11:11 +0000
committervincent.del.medico <vincent.del.medico@gmail.com>2011-06-11 10:11:11 +0000
commit681fd5aea1c1b6fb618e6c7902cf70e417d8233c (patch)
treec5a78b58f39c869ac3e64fd26b17e65dd9ceddc0
parent495b0a23adc3bf06195174a464b7b31dabbaa967 (diff)
downloadlibfixmath-681fd5aea1c1b6fb618e6c7902cf70e417d8233c.tar.gz
Back to previous Makefile I unintentionally modified
-rw-r--r--libfixmath/Makefile67
1 files changed, 48 insertions, 19 deletions
diff --git a/libfixmath/Makefile b/libfixmath/Makefile
index febc21c..b284590 100644
--- a/libfixmath/Makefile
+++ b/libfixmath/Makefile
@@ -1,19 +1,48 @@
-CC = gcc
-SRC = $(wildcard *.c)
-OBJ = $(SRC:.c=.o)
-BIN = test
-
-LDFLAGS += -lm
-CFLAGS += -O2 -DFIXMATH_NO_CACHE -W -Wall
-
-all : $(BIN)
-
-$(BIN) : $(OBJ)
- $(CC) $(LDFLAGS) $^ -o $@
-
-.c.o :
- $(CC) $(CFLAGS) $< -c
-
-clean:
- rm -rf *.o *~ $(BIN)
-
+#Project settings
+PROJECT = libfixmath
+LIB =
+SRC = .
+INC =
+
+#Compiler settings
+CPP = gcc
+CC = gcc
+AS = gcc
+LD = gcc
+AR = ar
+CPP_FLAGS = -O2 $(INC) -Wall -Wextra -c
+CC_FLAGS = -O2 $(INC) -Wall -Wextra -c
+AS_FLAGS = $(CC_FLAGS) -D_ASSEMBLER_
+LD_FLAGS = -Wall
+
+# Find all source files
+SRC_CPP = $(foreach dir, $(SRC), $(wildcard $(dir)/*.cpp))
+SRC_C = $(foreach dir, $(SRC), $(wildcard $(dir)/*.c))
+SRC_S = $(foreach dir, $(SRC), $(wildcard $(dir)/*.S))
+OBJ_CPP = $(patsubst %.cpp, %.o, $(SRC_CPP))
+OBJ_C = $(patsubst %.c, %.o, $(SRC_C))
+OBJ_S = $(patsubst %.S, %.o, $(SRC_S))
+OBJ = $(OBJ_CPP) $(OBJ_C) $(OBJ_S)
+
+# Compile rules.
+.PHONY : all
+all: $(PROJECT).a
+
+$(PROJECT).a: $(OBJ)
+ $(AR) rcs $(PROJECT).a $(OBJ)
+
+$(OBJ_CPP) : %.o : %.cpp
+ $(CPP) $(CPP_FLAGS) -o $@ $<
+
+$(OBJ_C) : %.o : %.c
+ $(CC) $(CC_FLAGS) -o $@ $<
+
+$(OBJ_S) : %.o : %.S
+ $(AS) $(AS_FLAGS) -o $@ $<
+
+
+
+# Clean rules
+.PHONY : clean
+clean:
+ rm -f $(PROJECT).a $(OBJ)