Skip to content

Instantly share code, notes, and snippets.

@robbyoconnor
Forked from BlameOmar/Makefile
Created February 25, 2014 05:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robbyoconnor/9203015 to your computer and use it in GitHub Desktop.
Save robbyoconnor/9203015 to your computer and use it in GitHub Desktop.
CXX = g++
CXXFLAGS = -Wall
DOCUMENTATION =
BUILD_SYSTEM_FILES = Makefile
DATA_FILES =
SOURCE_FILES = main.cpp class.h class.cpp
OBJECT_FILES = main.o class.o
EXECUTABLE_FILE = i-need-a-name
PACKAGER = your-user-name-goes-here
PACKAGE_NAME = hwk1
PACKAGE_DIRECTORY = $(PACKAGER)_$(PACKAGE_NAME)
PACKAGE_FILES = $(BUILD_SYSTEM_FILES) $(SOURCE_FILES) $(DOCUMENTATION) $(DATA_FILES)
PACKAGE_FILE = $(PACKAGE_DIRECTORY).zip
.DEFAULT_GOAL = all
$(EXECUTABLE_FILE): $(OBJECT_FILES)
$(CXX) $(CXXFLAGS) -o $(EXECUTABLE_FILE) $(OBJECT_FILES)
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $<
%.cpp: %.h
touch $@
$(PACKAGE_FILE): $(PACKAGE_FILES) | $(PACKAGE_DIRECTORY)
cp $(PACKAGE_FILES) $(PACKAGE_DIRECTORY)
zip -r $(PACKAGE_FILE) ./$(PACKAGE_DIRECTORY)
chmod 600 $(PACKAGE_FILE)
$(PACKAGE_DIRECTORY):
mkdir -p $(PACKAGE_DIRECTORY)
chmod 700 $(PACKAGE_DIRECTORY)
all: $(EXECUTABLE_FILE) package
clean:
rm -rf $(OBJECT_FILES) $(EXECUTABLE_FILE) $(PACKAGE_DIRECTORY) $(PACKAGE_FILE)
package: $(PACKAGE_FILE)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment