Skip to content

Instantly share code, notes, and snippets.

@nobane
Created September 30, 2021 06:23
Show Gist options
  • Save nobane/2dc180bf683d742f7a4e685d4fdf549a to your computer and use it in GitHub Desktop.
Save nobane/2dc180bf683d742f7a4e685d4fdf549a to your computer and use it in GitHub Desktop.
CS447/557 Cross-Platform Project1 Makefile
OBJ = ImageWidget.o ScriptHandler.o TargaImage.o
INCLUDE =
LIB =
LINK = -lfltk -lX11 -lXext
ifeq ($(OS),Windows_NT)
# Windows
INCLUDE = -I/p/graphics/local/packages/fltk-1.0.11/include\
-I/p/graphics/local/packages/libtarga/include
LIB = -L/p/graphics/local/packages/fltk-1.0.11/lib\
-L/p/graphics/local/packages/libtarga/lib\
-L/usr/X11R6/lib
LINK := $(LINK) -ltarga
else
# Linux/Mac
libtarga.o: libtarga.c libtarga.h
gcc -c -o libtarga.o libtarga.c
OBJ := $(OBJ) libtarga.o
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Darwin)
# Mac
FLTK_VERSION = 1.3.7
INCLUDE = -I/usr/local/Cellar/fltk/$(FLTK_VERSION)/include
endif
endif
Project1: $(OBJ)
g++ -ggdb -Wall -o Project1 Main.cpp $(OBJ) $(INCLUDE) $(LIB) $(LINK)
ImageWidget.o: ImageWidget.cpp ImageWidget.h
g++ -ggdb -Wall -c -o ImageWidget.o ImageWidget.cpp $(INCLUDE)
ScriptHandler.o: ScriptHandler.cpp ScriptHandler.h
g++ -ggdb -Wall -c -o ScriptHandler.o ScriptHandler.cpp $(INCLUDE)
TargaImage.o: TargaImage.cpp TargaImage.h
g++ -ggdb -Wall -c -o TargaImage.o TargaImage.cpp $(INCLUDE)
clean:
@for obj in $(OBJ); do\
if test -f $$obj; then rm $$obj; fi; done
@if (test -f Project1); then rm Project1; fi;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment