View difference between Paste ID: YTBaMjnj and PMpK3AiG
SHOW: | | - or go back to the newest paste.
1
# target (linux, windows)
2
TARGET = linux
3
4
ifeq ($(TARGET),linux)
5
	CC = gcc
6
	INCLUDE = -I/usr/include
7
	BIN = mesaflash
8
	LIBS = /usr/lib/libpci.so
9
endif
10
11
ifeq ($(TARGET),windows)
12
	MINGW = c:/MinGW
13
	CC = $(MINGW)/bin/gcc.exe
14
	INCLUDE = -I$(MINGW)/include
15
	BIN = mesaflash.exe
16
	LIBS = -lwsock32 libpci.dll
17
endif
18
19
RM = rm -f
20
21
MATHLIB = -lm
22
OPT = -O0
23
#DEBUG = -g -pedantic -Wall -Wextra
24
DEBUG = -g -Wall -Wextra
25
#DEBUG = -g -Wall
26
27-
CFLAGS = $(INCLUDE) $(OPT) $(DEBUG) $(MATHLIB)
27+
ARCH := $(shell getconf LONG_BIT)
28
29
CPP_FLAGS_32 := -D32_BIT 
30
CPP_FLAGS_64 := -D64_BIT
31
32
CPP_FLAGS := $(CPP_FLAGS_$(ARCH))
33
34
CFLAGS = $(INCLUDE) $(OPT) $(DEBUG) $(MATHLIB) $(CPP_FLAGS)
35
36
objects = main.o eeprom.o flash_spi.o device_eth.o lbp16.o device_pci.o hostmot2.o
37
mesaflash_objects = main.o eeprom.o flash_spi.o device_eth.o lbp16.o device_pci.o hostmot2.o
38
39
all : $(objects)
40
	$(CC) -o $(BIN) $(mesaflash_objects) $(MATHLIB) $(LIBS)
41
42
main.o : main.c devices.h eeprom.h device_eth.h
43
	$(CC) $(CFLAGS) -c main.c
44
45
eeprom.o : eeprom.c devices.h eeprom.h device_eth.h device_pci.h libanyio/hostmot2.h lbp16.h
46
	$(CC) $(CFLAGS) -c eeprom.c
47
48
flash_spi.o : flash_spi.c eeprom.h flash_spi.h libanyio/hostmot2.h
49
	$(CC) $(CFLAGS) -c flash_spi.c
50
51
device_pci.o : device_pci.c eeprom.h flash_spi.h libanyio/hostmot2.h device_pci.h
52
	$(CC) $(CFLAGS) -c device_pci.c
53
54
device_eth.o : device_eth.c eeprom.h device_eth.h libanyio/hostmot2.h lbp16.h
55
	$(CC) $(CFLAGS) -c device_eth.c
56
57
lbp16.o : lbp16.c lbp16.h
58
	$(CC) $(CFLAGS) -c lbp16.c
59
60
hostmot2.o : libanyio/hostmot2.c libanyio/hostmot2.h
61
	$(CC) $(CFLAGS) -c libanyio/hostmot2.c
62
63
clean :
64
	$(RM) $(BIN) *.o