Sun, 01 Oct 2023 14:25:26 +0200
improve Makefiles
# Copyright 2018 Mike Becker. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. include ../config.mk BUILD_DIR = ../build SRC = arguments.c bfile_heuristics.c cline.c regex_parser.c scanner.c settings.c string_list.c OBJ = $(SRC:%.c=$(BUILD_DIR)/%.o) CFLAGS += -DVERSION='"$(VERSION)"' all: $(BUILD_DIR)/cline FORCE echo "Build successful." install: $(BUILD_DIR)/cline FORCE cd .. && cp "build/cline" "$(BINDIR)/cline" echo "Installed to: $(BINDIR)/cline" $(BUILD_DIR)/cline: $(OBJ) echo "Linking executable..." $(CC) $(LDFLAGS) -o $@ $^ FORCE: $(BUILD_DIR)/arguments.o: arguments.c arguments.h stdinc.h string_list.h echo "Compiling $<" $(CC) -o $@ $(CFLAGS) -c $< $(BUILD_DIR)/bfile_heuristics.o: bfile_heuristics.c bfile_heuristics.h \ stdinc.h echo "Compiling $<" $(CC) -o $@ $(CFLAGS) -c $< $(BUILD_DIR)/cline.o: cline.c cline.h stdinc.h settings.h string_list.h \ bfile_heuristics.h regex_parser.h scanner.h arguments.h echo "Compiling $<" $(CC) -o $@ $(CFLAGS) -c $< $(BUILD_DIR)/regex_parser.o: regex_parser.c regex_parser.h string_list.h \ stdinc.h echo "Compiling $<" $(CC) -o $@ $(CFLAGS) -c $< $(BUILD_DIR)/scanner.o: scanner.c scanner.h stdinc.h settings.h \ string_list.h bfile_heuristics.h regex_parser.h echo "Compiling $<" $(CC) -o $@ $(CFLAGS) -c $< $(BUILD_DIR)/settings.o: settings.c settings.h stdinc.h string_list.h \ bfile_heuristics.h regex_parser.h echo "Compiling $<" $(CC) -o $@ $(CFLAGS) -c $< $(BUILD_DIR)/string_list.o: string_list.c string_list.h stdinc.h echo "Compiling $<" $(CC) -o $@ $(CFLAGS) -c $<