USB/UHCI - Cleanup
[tpg/acess2.git] / Usermode / Applications / Makefile.tpl
1 #
2 # Acess2
3 # - Application Template Makefile
4 #
5
6 CFLAGS  += -Wall -Werror -fno-builtin -fno-stack-protector -g
7 LDFLAGS += -g
8
9 _BIN := $(OUTPUTDIR)$(DIR)/$(BIN)
10 _OBJPREFIX := obj-$(ARCH)/
11
12 _LIBS := $(filter -l%,$(LDFLAGS))
13 _LIBS := $(patsubst -l%,$(OUTPUTDIR)Libs/lib%.so,$(_LIBS))
14
15 OBJ := $(addprefix $(_OBJPREFIX),$(OBJ))
16
17 DEPFILES := $(OBJ:%.o=%.dep)
18
19 .PHONY : all clean install
20
21 all: $(_BIN)
22
23 clean:
24         @$(RM) $(OBJ) $(DEPFILES) $(_BIN) $(BIN).dsm
25         @$(RM) -r $(_OBJPREFIX)
26
27 install: $(_BIN)
28         @echo [xCP] $(DISTROOT)/$(DIR)/$(BIN)
29         @$(xMKDIR) $(DISTROOT)/$(DIR); true
30         @$(STRIP) $(_BIN) -o $(_BIN)_
31         @$(xCP) $(_BIN)_ $(DISTROOT)/$(DIR)/$(BIN)
32         @$(RM) $(_BIN)_
33
34 $(_BIN): $(OUTPUTDIR)Libs/acess.ld $(OUTPUTDIR)Libs/crt0.o $(_LIBS) $(OBJ)
35         @mkdir -p $(dir $(_BIN))
36         @echo [LD] -o $@
37 ifneq ($(_DBGMAKEFILE),)
38         $(LD) -g $(LDFLAGS) -o $@ $(OBJ) -Map $(_OBJPREFIX)Map.txt
39 else
40         @$(LD) -g $(LDFLAGS) -o $@ $(OBJ) -Map $(_OBJPREFIX)Map.txt
41 endif
42         @$(DISASM) $(_BIN) > $(_OBJPREFIX)$(BIN).dsm
43
44 $(OBJ): $(_OBJPREFIX)%.o: %.c
45         @echo [CC] -o $@
46 ifneq ($(_OBJPREFIX),)
47         @mkdir -p $(dir $@)
48 endif
49         @$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
50         @$(CC) -M -MT $@ $(CPPFLAGS) $< -o $(_OBJPREFIX)$*.dep
51
52 $(OUTPUTDIR)Libs/libld-acess.so:
53         @make -C $(ACESSDIR)/Usermode/Libraries/ld-acess.so_src/
54 $(OUTPUTDIR)Libs/%:
55         @make -C $(ACESSDIR)/Usermode/Libraries/$*_src/
56
57 -include $(DEPFILES)

UCC git Repository :: git.ucc.asn.au