- Dynamic Makefile variable assignment
- include Makefile.inc
- DIRS = applib
- EXE_APPFS = appfs
- EXE_APPMOUNT = appmount
- EXE_APPINSPECT = appinspect
- EXE_APPCREATE = appcreate
- BUILD_APPFS =
- BUILD_APPMOUNT = -DAPPMOUNT
- OBJS_APPFS = main.o appfs.o
- OBJS_APPMOUNT = main.o appmount.o
- OBJS_APPINSPECT = appinspect.o
- OBJS_APPCREATE = appcreate.o
- OBJLIBS = libapp.a
- LIBS = -L. -lpthread -lstdc++ -ldl -lrt -largtable2 -lm ./libapp.a /usr/lib64/libfuse.a
- # Optimization settings.
- debug: CPPFLAGS=$(CPPFLAGS_DEBUG)
- debug: CFLAGS=$(CFLAGS_DEBUG)
- debug:
- @true
- optimal: CPPFLAGS=$(CPPFLAGS_OPTIMAL)
- optimal: CFLAGS=$(CFLAGS_OPTIMAL)
- optimal:
- @true
- appfs: appfs.o $(OBJLIBS)
- @echo "stuff is done here"
- appmount: appmount.o $(OBJLIBS)
- @echo "stuff is done here"
- appmount_optimal: optimal appmount
- debug: CPPFLAGS=$(CPPFLAGS_DEBUG)
- debug: CFLAGS=$(CFLAGS_DEBUG)
- optimal: CPPFLAGS=$(CPPFLAGS_OPTIMAL)
- optimal: CFLAGS=$(CFLAGS_OPTIMAL)
- debug: CPPFLAGS=$(CPPFLAGS_DEBUG)
- debug: CFLAGS=$(CFLAGS_DEBUG)
- debug: appfs appmount
- optimal: CPPFLAGS=$(CPPFLAGS_OPTIMAL)
- optimal: CFLAGS=$(CFLAGS_OPTIMAL)
- optimal: appfs appmount
- CPPFLAGS_debug = <debug CPPFLAGS>
- CFLAGS_debug = <debug CFLAGS>
- CPPFLAGS_optimal = <optimal CPPFLAGS>
- CFLAGS_optimal = <optimal CFLAGS>
- STYLE := $(firstword $(filter debug optimal,$(MAKECMDGOALS)))
- $(if $(STYLE),,$(error No style "debug" or "optimal" set))
- CPPFLAGS = $(CPPFLAGS_$(STYLE))
- CFLAGS = $(CFLAGS_$(STYLE))
- debug optimal:
- .PHONY: debug optimal
- STYLE := $(firstword $(filter optimal,$(MAKECMDGOALS)) debug)
- # Optimization settings.
- debug:
- +$(MAKE) CPPFLAGS="$(CPPFLAGS_DEBUG)" CFLAGS="$(CFLAGS_DEBUG)"
- optimal:
- +$(MAKE) CPPFLAGS="$(CPPFLAGS_OPTIMAL)" CFLAGS="$(CFLAGS_OPTIMAL)"
- # Optimization settings.
- debug:
- +$(MAKE) CPPFLAGS="$(CPPFLAGS_DEBUG)" CFLAGS="$(CFLAGS_DEBUG)" debug_build
- optimal:
- +$(MAKE) CPPFLAGS="$(CPPFLAGS_OPTIMAL)" CFLAGS="$(CFLAGS_OPTIMAL)" optimal_build
- BUILD_TARGET = all
- # Optimization settings.
- debug:
- +$(MAKE) CPPFLAGS="$(CPPFLAGS_DEBUG)" CFLAGS="$(CFLAGS_DEBUG)" $(BUILD_TARGET)
- optimal:
- +$(MAKE) CPPFLAGS="$(CPPFLAGS_OPTIMAL)" CFLAGS="$(CFLAGS_OPTIMAL)" $(BUILD_TARGET)
- make optimal BUILD_TARGET="appmount totherprog"