Josh Coalson | bb7f6b9 | 2000-12-10 04:09:52 +0000 | [diff] [blame^] | 1 | # |
| 2 | # GNU makefile fragment for building an executable |
| 3 | # |
| 4 | |
| 5 | CC = gcc |
| 6 | # LINKAGE can be forced to -static or -dynamic from invocation if desired, but it defaults to -static |
| 7 | LINKAGE = -static |
| 8 | LINK = gcc $(LINKAGE) |
| 9 | BINPATH = ../../obj/bin |
| 10 | LIBPATH = ../../obj/lib |
| 11 | PROGRAM = $(BINPATH)/$(PROGRAM_NAME) |
| 12 | |
| 13 | all : release |
| 14 | |
| 15 | debug : CFLAGS = -g -O0 -DDEBUG $(DEBUG_CFLAGS) -Wall -W $(INCLUDES) |
| 16 | release : CFLAGS = -O3 -DNDEBUG $(RELEASE_CFLAGS) -Wall -W $(INCLUDES) |
| 17 | |
| 18 | LFLAGS = -L$(LIBPATH) |
| 19 | |
| 20 | debug : $(PROGRAM) |
| 21 | release : $(PROGRAM) |
| 22 | |
| 23 | $(PROGRAM) : $(OBJS) |
| 24 | $(LINK) -o $@ $(OBJS) $(LFLAGS) $(LIBS) |
| 25 | |
| 26 | %.o : %.c |
| 27 | $(CC) $(CFLAGS) -c $< -o $@ |
| 28 | %.i : %.c |
| 29 | $(CC) $(CFLAGS) -E $< -o $@ |
| 30 | |
| 31 | .PHONY : clean |
| 32 | clean : |
| 33 | -rm -f $(OBJS) $(PROGRAM) |
| 34 | |
| 35 | .PHONY : depend |
| 36 | depend: |
| 37 | makedepend -- $(CFLAGS) $(INCLUDES) -- *.c |