2020年5月3日 星期日

Makefile 筆記 (1)

Makefile 範本 (OS: Windows)

    教學網路上很多,這裡記錄下我目前測試程式碼的 Makefile
    # 通用編譯參數
    CC     = gcc
    CFLAGS = -g -Wall

    # Objects = 為要與 main 連結的 .o 檔
    OBJECTS = hello.o pointer.o unsignedChar.o struct.o
    SOURCE_PATH  = source/
    INCLUDE_PATH = include/

    program: main.o ${OBJECTS}
        ${CC} ${CFLAGS} -o program.exe main.o ${OBJECTS}

    # 告訴編譯器 在當前目錄下找 main.c
    main.o: main.c
        $(CC) -I$(INCLUDE_PATH) $(CFLAGS) -c $<

    # 告訴編譯找 在 source/ 找 %.c 在 include/ 找 %.h
    %.o: $(SOURCE_PATH)%.c $(INCLUDE_PATH)%.h
        $(CC) -I$(INCLUDE_PATH) $(CFLAGS) -c $<

    clean:
        del main.o ${OBJECTS} program.exe

-I$(INCLUDE_PATH)

    這個是告訴程式碼在 include 時可以在這個目錄找,所以我的 main.c 在 include 時能如下,而不用#include "include/hello.h"
    #include "hello.h"
    #include "struct.h"
    #include "pointer.h"
    #include "pthread.h"
    #include "unsignedChar.h"
相關文章 :

Related Posts:

  • 重新踏入網頁開發 (5) - Blocking & Non-Blocking Blocking & Non-Blocking     Nodejs 為事件觸發的單一執行緒,不像 Apache + PHP 會自動開一個 Thread 去接每一個 Request。     Blocking Code 示範 (程式碼另有 index.js 請參照重新踏入網頁開發 (4) - Dependency injection) route.js function start_… Read More
  • 重新踏入網頁開發 (1) - Nodejs 前言     網頁開發是一個對我而言還蠻陌生的東西, 因為我都是自學所以總是得過且過。自學通常就會拿手邊資源也就是公司內部系統的 Code。公司的 Code 較為古早, 不外乎 3 個基本的元素, http server(apache), PHP, 前端(html, css, javascript)。 此時的我靠著 w3schools 就能完成所有事情。既然重新踏入開發網頁, 就去學最新的東西 (目標是 react), 即使… Read More
  • 重新踏入網頁開發 (3) - Route Route ( URL )     通過不同的 URL 去區別不同請求 Server.js import http from 'http' import url from 'url' function onRequest(request, response) { // 會紀錄 request url var path_na… Read More
  • HTML 下拉表單預設選項在網頁裡有下拉表單 <Select> 有時會希望使用者真的有作過選擇,才進行下一步動作 這時會設置一個預設的 Option,使其 value = "",來判斷使用者有無真的作選擇 <option value='' selected disabled hidden>請選擇</option> selected:  預設此選項 disabled: &nbs… Read More
  • 重新踏入網頁開發 (2) - ES6 模組化     Ryan Dahl 創造的 node.js 專案之所以如此重要, 是因為其理念為 模組(module), 讓 javascript 的大規模專案得以實現, 也讓 javascript 可以做伺服器端程式設計。 node.js 的模組     這裡示範 node.js 原生的模組, moduleA.js // 想像這裡有隱藏程式碼 // # var modul… Read More

0 意見:

張貼留言

Popular Posts