You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.4 KiB
52 lines
1.4 KiB
|
|
# Compiler to use. Make does something special with this. |
|
CC = gcc |
|
CFLAGS = -I"/usr/include/SDL2" -g -Wall -lSDL2 |
|
|
|
ODIR = obj |
|
SDIR = src |
|
|
|
_DEPS = SDL_Clicky.h clickable.h clickable_hierarchy.h containers/containers.h |
|
DEPS = $(patsubst %,$(SDIR)/%,$(_DEPS)) |
|
_SRC = SDL_Clicky.c clickable.c clickable_hierarchy.c containers/containers.c |
|
SRC = $(patsubst %,$(SDIR)/%,$(_SRC)) |
|
_OBJS = $(_SRC:.c=.o) |
|
OBJS = $(patsubst %,$(ODIR)/%,$(_OBJS)) |
|
OUT = out/libSDL_Clicky.a |
|
|
|
# Rules that are always executed regardless of file states. |
|
.POHNY: clean force forceobjs |
|
|
|
# Name isn't special, it's just befitting of being the first rule. The first rule is executed if no rule is specified. |
|
make: $(OUT) |
|
# echo $(OBJS) #Uncomment this line to see if the target gets run or just to get a list of the objs or whatever. |
|
|
|
$(ODIR)/%.o: $(SDIR)/%.c $(DEPS) |
|
$(CC) $(CFLAGS) -c $< -o $@ |
|
|
|
#obj/SDL_Clicky.o: src/SDL_Clicky.c $(DEPS) |
|
# $(CC) -c $< -o $@ |
|
|
|
#obj/%.o: src/%.c $(DEPS) |
|
# $(CC) -c $< -o $@ |
|
|
|
# Compiling the actual build. |
|
$(OUT): $(OBJS) |
|
#$(CC) $(OBJS) -c -o obj/libSDL_Clicky.o; |
|
#ar rcs $(OUT) obj/libSDL_Clicky.o; |
|
ar rcs $(OUT) $(OBJS); |
|
|
|
# Primitive targets for forcing a compilation. Cleans up after themselves. NOT UPDATED FOR USE HERE! IT WAS COPY-PASTED FROM ELSEWHERE! |
|
forceobjs: |
|
$(CC) -c $(SRC) |
|
|
|
force: forceobjs |
|
$(CC) $(_OBJS) -o $(OUT); rm *.o |
|
|
|
# Rule that is always executed regardless of the states of the files. Deletes junk. |
|
clean: |
|
rm $(OUT) $(ODIR)/*.o; |
|
|
|
asdf: |
|
echo $(OBJS) |
|
|
|
|