A quick and dirty shell implementation for A.U.TH. (Operating systems Lab)
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 

49 Zeilen
827 B

  1. #
  2. # Snel makefile
  3. #
  4. # Author: Christos Choutouridis AEM:8997
  5. # email: cchoutou@ece.auth.gr
  6. #
  7. CXX := -c++
  8. CXXFLAGS := -std=c++14 -Wall -Wextra -Werror
  9. LDFLAGS := -lstdc++
  10. BUILD := ./bin
  11. OBJ_DIR := $(BUILD)/obj
  12. APP_DIR := $(BUILD)
  13. TARGET := snel
  14. SRC := $(wildcard src/*.cpp)
  15. OBJECTS := $(SRC:%.cpp=$(OBJ_DIR)/%.o)
  16. $(OBJ_DIR)/%.o: %.cpp
  17. @mkdir -p $(@D)
  18. $(CXX) $(CXXFLAGS) -o $@ -c $<
  19. $(APP_DIR)/$(TARGET): $(OBJECTS)
  20. @mkdir -p $(@D)
  21. $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $(APP_DIR)/$(TARGET) $(OBJECTS)
  22. # === Rules ===
  23. snel: build $(APP_DIR)/$(TARGET)
  24. build:
  25. @mkdir -p $(APP_DIR)
  26. @mkdir -p $(OBJ_DIR)
  27. debug: CXXFLAGS += -DDEBUG -g3
  28. debug: snel
  29. release: CXXFLAGS += -O2
  30. release: snel
  31. all: release
  32. clean:
  33. -@rm -rvf $(OBJ_DIR)/*
  34. -@rm -rvf $(APP_DIR)/*
  35. .PHONY: snel build debug release all clean