Version 1.0.9.
[gnuk/neug.git] / src / Makefile
1 # Makefile for NeuG
2
3 # Define project name here
4 PROJECT = neug
5
6 CHOPSTX = ../chopstx
7 FRAUCHEKY = ../fraucheky
8
9 CSRC = main.c sha256.c neug.c
10
11 include config.mk
12
13 USE_SYS = yes
14 USE_USB = yes
15 USE_ADC = yes
16 USE_EVENTFLAG = yes
17
18 ifneq ($(ENABLE_FRAUCHEKY),)
19 include $(FRAUCHEKY)/src.mk
20 endif
21
22 ###################################
23 CC   = $(CROSS)gcc
24 LD   = $(CROSS)gcc
25 OBJCOPY   = $(CROSS)objcopy
26
27 CWARN = -Wall -Wextra -Wstrict-prototypes
28 OPT   = -O3 -Os -g
29
30 #######################
31 include $(CHOPSTX)/rules.mk
32
33 ifneq ($(ENABLE_FRAUCHEKY),)
34 ifeq ($(EMULATION),)
35 BFDNAME_OBJ = elf32-little
36 else
37 # For now, it assumes x86_64
38 BFDNAME_OBJ = elf64-x86-64
39 BFDARCH = i386
40 endif
41 include $(FRAUCHEKY)/build.mk
42 endif
43 ###################################
44
45 board.h:
46         @echo Please run configure to have a symbolic link \'board.h\'
47         @exit 1
48
49 build/sha256.o: OPT = -O3 -g
50 build/neug.o: OPT = -O3 -g
51
52 distclean:: clean
53         -rm -f neug.ld config.h board.h config.mk \
54                usb-strings.c.inc put-vid-pid-ver.sh
55
56 ifeq ($(EMULATION),)
57 build/neug.elf: build/neug-no-vidpid.elf binary-edit.sh put-vid-pid-ver.sh
58         cp -p build/neug-no-vidpid.elf build/neug.elf
59         env FILE="build/neug.elf" bash put-vid-pid-ver.sh
60         $(OBJCOPY) -O ihex build/neug.elf build/neug.hex
61         $(OBJCOPY) -O binary build/neug.elf build/neug.bin
62 else
63 # By specifying DESTDIR on invocation of "make", you can install
64 # program to different ROOT.
65
66 # The variables prefix, exec_prefix, libexecdir are defined in
67 # config.mk.
68
69 install: build/neug
70         test -d "$(DESTDIR)$(libexecdir)" || mkdir -p "$(DESTDIR)$(libexecdir)"
71         install -c build/neug "$(DESTDIR)$(libexecdir)"
72
73 endif