Support gcc inline and unix builds
authorPat Thoyts <patthoyts@users.sourceforge.net>
Fri, 3 May 2019 20:17:36 +0000 (21:17 +0100)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Fri, 3 May 2019 20:17:36 +0000 (21:17 +0100)
Makefile
timer-serial.c

index 75fbc86045d2a1e60b9b74468528355baba322e9..34cdbe82b59a27fe78f12aa1fee9d9d663216b96 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,15 +4,22 @@ PROJECT := timer-serial
 DEVICE  := atmega328p
 F_CPU   := 16000000UL
 INC     := -I.
-AVRDUDE := avrdude -c usbasp -p $(DEVICE) -C $(AVR_DIR)\etc\avrdude.conf
+AVRDUDE := avrdude -c usbasp -p $(DEVICE) -C $(AVR_DIR)/etc/avrdude.conf
 
 CSRCS    = $(PROJECT).c #usart.c
 OBJS     = $(CSRCS:.c=.o)
 
+uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
+
 CC      := avr-gcc
 LD      := avr-gcc
 OBJCOPY := avr-objcopy
+ifeq ($(uname_S),Windows)
 RM      := del >NUL
+else
+RM      := rm -f
+endif
+
 CFLAGS  :=-Wall -Wstrict-prototypes -Wmissing-prototypes -Wcast-align -Wshadow \
           -std=gnu99 -fshort-enums -pedantic-errors -Os -mcall-prologues \
           -mmcu=$(DEVICE) -DF_CPU=$(F_CPU)
@@ -30,7 +37,7 @@ all: $(PROJECT).hex
 
 %.hex: %.elf
        $(QUIET_OBJCOPY) -j .text -j .data -O ihex $< $@
-    
+
 %.elf: $(OBJS)
        $(QUIET_LD) $(LDFLAGS) $^ $(LIBS) -o $@
 
@@ -41,7 +48,7 @@ flash: $(PROJECT).hex
        $(QUIET_AVRDUDE) -U flash:w:$<:i
 
 clean:
-       -@$(RM) $(addprefix $(PROJECT), .elf .hex)
+       -@$(RM) $(addprefix $(PROJECT), .elf .hex) $(OBJS)
 
 .PHONY: clean
 .SECONDARY: $(addsuffix .elf, $(PROJECT)) $(OBJS)
index c164450974535a7e714522b6a7e549c946c26efa..e23700aadb90625be10b3cff80640ded36925e38 100644 (file)
 #include "usart.c"
 
 static void init_pwm_pin5(void);
-inline void pwm_off(void);
-inline void pwm_on(void);
-inline int pwm_is_enabled(void);
+static inline void pwm_off(void);
+static inline void pwm_on(void);
+static inline int pwm_is_enabled(void);
 
 /* The overflow interrupt can be used to count PWM pulses if necessary */
 volatile uint32_t pwm_cycles = 0;
 
-inline void pwm_off(void)
+static inline void pwm_off(void)
 {
     PORTD &= ~_BV(PB5);
     TCCR0A &= ~(_BV(COM0B1) | _BV(COM0B0));
 }
-inline void pwm_on(void)
+static inline void pwm_on(void)
 {
     cli();
     pwm_cycles = 0;
@@ -33,7 +33,7 @@ inline void pwm_on(void)
     TCNT0 = 0;
     sei();
 }
-inline int pwm_is_enabled(void)
+static inline int pwm_is_enabled(void)
 {
     return bit_is_set(TCCR0A, COM0B1);
 }