Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. CC=gcc
  2. CFLAGS=-Wall -g
  3. LIBS=-lm
  4.  
  5. SRC_DIRS ?= ../lib
  6. BUILD_DIR ?= ../build
  7.  
  8. SRCS := $(shell find $(SRC_DIRS) -name '*.c')
  9. OBJS := $(patsubst $(SRC_DIRS)/%.c,$(BUILD_DIR)/%.o,$(SRCS))
  10.  
  11. $(BUILD_DIR)/%.o : $(SRC_DIRS)/%.c
  12. $(MKDIR_P) $(dir $@)
  13. $(CC) $(CFLAGS) -c $< -o $@
  14.  
  15. %: $(OBJS)
  16. $(CC) $(OBJS) $@.c -o $(BUILD_DIR)/$@ $(LIBS)
  17.  
  18. .PHONY: clean
  19.  
  20. clean:
  21. $(RM) -r $(BUILD_DIR)
  22.  
  23. MKDIR_P ?= mkdir -p
  24.  
  25. print-% : ; @echo $* = $($*)
  26.  
  27. make shell
  28. mkdir -p ../build/
  29. gcc -Wall -g -c ../lib/c_computacional.c -o ../build/c_computacional.o
  30. mkdir -p ../build/
  31. gcc -Wall -g -c ../lib/v_initializer.c -o ../build/v_initializer.o
  32. gcc ../build/c_computacional.o ../build/v_initializer.o shell.c -o ../build/shell -lm
  33. --> rm ../build/v_initializer.o ../build/c_computacional.o
  34.  
  35. %: $(OBJS)
  36.  
  37. q_sort: $(OBJS)
  38.  
  39. mkdir -p ../build/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement