# Makefile for PIC program compile PACKAGE = pwm2ac.hex DEVICE = 16f88 SERIES = pic14 BIN_PATH = /usr/bin:/usr/local/bin CXX = sdcc AS = gpasm NKF = nkf RM = rm CPPFLAGS = -V -D__SDCC__ CFLAGS = -V --debug --stack-auto -D__SDCC__ --opt-code-speed -m$(SERIES) -p$(DEVICE) LFLAGS = -V --debug --stack-auto -D__SDCC__ --opt-code-speed -m$(SERIES) -p$(DEVICE) ASFLAGS = # INCLUDES = -I"/usr/local/share/sdcc/include" LIBS = -I"/usr/local/share/sdcc/lib" BUILD_DIR = build_by_sdcc TMPFILE = tmp.hex SRCS_C = \ $(shell ls *.c) SRCS_ASM = \ $(shell ls *.asm) OBJS = $(SRCS_C:.c=.rel) $(SRCS_ASM:.asm=.rel) all : $(BUILD_DIR) depend $(PACKAGE) # ヘッダーファイルの依存関係 depend: $(SRCS_C) export PATH=$(BIN_PATH):$$PATH; \ rm -f $(BUILD_DIR)/depend.inc; \ for i in $^; do\ $(CXX) -E -MMM $(CPPFLAGS) $$i | sed -e 's/^+.*//g' -e 's/[^\.]*\.rel/$(BUILD_DIR)\/&/g' >> $(BUILD_DIR)/depend.inc;\ done -include $(BUILD_DIR)/depend.inc $(BUILD_DIR)/%.rel : %.c export PATH=$(BIN_PATH):$$PATH; \ $(CXX) -c $(CFLAGS) $(INCLUDES) -o $@ $< $(BUILD_DIR)/%.rel : %.asm export PATH=$(BIN_PATH):$$PATH; \ cp $< $(BUILD_DIR)/; \ cd $(BUILD_DIR); \ $(AS) $(ASFLAGS) $< $(PACKAGE) : $(patsubst %,$(BUILD_DIR)/%,$(PACKAGE)) $(BUILD_DIR)/$(PACKAGE) : $(patsubst %,$(BUILD_DIR)/%,$(OBJS)) export PATH=$(BIN_PATH):$$PATH; \ $(CXX) $(LFLAGS) $(LIBS) -o $(BUILD_DIR)/$(TMPFILE) $(LIBS) $^; \ $(NKF) -Lw $(BUILD_DIR)/$(TMPFILE) > $@ && $(RM) $(BUILD_DIR)/$(TMPFILE) $(BUILD_DIR) : mkdir $@ clean : rm -f $(BUILD_DIR)/* run : all .PHONY : clean all depend